位置:51电子网 » 企业新闻

AD42/320Z-0

发布时间:2019/3/12 13:43:00 访问次数:47 发布企业:瀚佳科技(深圳)金祥彩票

AD42/320Z-0公司进口原装现货/随时可以发货!


欢迎光临瀚佳科技(深圳)金祥彩票(李先生:0755-23140719 . 15323480717微信同号 . QQ:3441530696)
瀚佳科技(深圳)金祥彩票是一家专业经营IC电子元器件企业。代理分销品牌有MAXIM、ADI、Microchip、TI、Xilinx、ALTERA、ATMEL、Infineon、SST、ISSI、NXP、PHILIPS、STC、Avago、Agilent、NS、POWER、ST、Winbond、FREESCALE、NS、FSC、IR、ON等世界知名品牌IC。包括:IC集成电路、传感器、光电元件、滤波器、晶体、振荡器、保险丝、继电器、编程器、连接器、隔离器、可编程逻辑器件、功率模块、电源模块、光耦、二三极管、MOS管、电容电阻、电感等。 产品广泛应用于航天、通讯、电力、电源、电子电器、仪器仪表、医疗器械、自动控制、汽车、船舶等高科技领域。公司备有部分现货,并在北美、欧洲、亚洲、港澳台有着良好供货渠道,保证客户拿到有竟力优势产品。在市场竞争日趋激烈的当下,
瀚佳科技以自己良好的信用、可靠的质量、有竞争力的价格、快捷的物流和灵活的财务支持,在行业内赢得了很好的声誉。
公司部分现货:
MIC5381-PPYFTTR MIC5381-SSYFTTR MIC68220YMLTR MIC69303YMLTR MIC94040YFL MIC94041YFL MIC94042YFL MIC94043YFL MIC94060YMLTR MIC94060YMT MIC94060YMTTR MIC94061YML MIC94061YMLTR MIC94061YMT MIC94061YMTTR MIC94062YML MIC94062YMLTR MIC94062YMT MIC94062YMTTR MIC94063YML MIC94063YMLTR MIC94063YMT MIC94063YMTTR MIC94064YMT MIC94064YMTTR MIC94065YMT MIC94065YMTTR MIC94070YMT MIC94070YMTTR MIC94071YMT MIC94071YMTTR MIC94072YMT MIC94072YMTTR MIC94073YMT MIC94073YMTTR MIC94080YFT MIC94080YFTTR MIC94082YFT MIC94082YFTTR MIC94083YFT MIC94083YFTTR MIC94084YFT MIC94084YFTTR MIC94085YFT MIC94085YFTTR MIC94090YMT MIC94091YMT MIC94092YMT MIC94093YMT MIC94094YMT MIC94095YMT MIC94300YMTTR ML2870AGPZ060 ML2871GDZEAD MM1475CCBE MM3323HRRE MMA-062020-C3 MMA20312BT1 MMA20312BVT1 MMA25312BT1 MMG20271HT1 MML20242HT1 MMPF0100F0EP MMPF0100F0EPR2 MMPF0100F1EP MMPF0100F1EPR2 MMPF0100F2EP MMPF0100F2EPR2 MMPF0100NPEP MMPF0100NPEPR2 MMPF0100NPZES MMPF0100NPZESR2 MMZ09312BT1 MMZ25332BT1 MN101C66DAA MN101C66DAC MN101C66DAJ MN101C66DAG MP1519DQL-LF-Z MP2106DQ-LF-Z MP2119DQ-LF-Z MP2351DQ-LF-Z MP2602DQ-LF-Z MP26023DQ-LF-Z MP26021DQ-LF-Z MP26028EQ MP26028EQ-LF-Z MPC17559EP MPC17559EPR2 MS1AB-SLB MSC1201Y2RHHR MSC1201Y2RHHRG4 MSC1201Y2RHHT MSC1201Y2RHHTG4 MSC1201Y3RHHR MSC1201Y3RHHRG4 MSC1201Y3RHHT MSC1201Y3RHHTG4 MSC1202Y2RHHR MSC1202Y2RHHRG4 MSC1202Y2RHHT MSC1202Y2RHHTG4 MSC1202Y3RHHR MSC1202Y3RHHRG4 MSC1202Y3RHHT MSC1202Y3RHHTG4 MSC5503 MSP430F1121AIRGER MSP430F1121AIRGET MSP430F133IRTDR MSP430F133IRTDT MSP430F1481IRTDR MSP430F1481IRTDT MT6119N MT6120N-L MT6129N-L MT6301N MT6301N/B MT6305BN MT6305BN/C MT6601CA MT6601CA/A MT9T001C12STC MVPG15B-A2-NAE1C00 MXC6225XU MXL5003S N098E NB100LVEP221MNG NB100LVEP221MNRG NB100LVEP222MNG NB100LVEP222MNRG NB3N121KMNG NB3N121KMNR2G NB4L7210MNG NB4N121KMNG NB4N121KMNR2G NB618DL NB618DL-LF-Z NB7L111MMN NB7L111MMNG NB7L111MMNR2 NB7L111MMNR2G NB7N017MMN NB7N017MMNG NB7N017MMNR2 NB7N017MMNR2G NCN1154MUTAG NCN1188MUTAG NCN2612MTTWG NCN7200MTTWG NCN9252MUTAG NCP1508MNR2 NCP1508MNR2G NCP1509MNR2 NCP1509MNR2G NCP1546MNR2G NCP1547MNR2G NCP1589BMNTXG NCP2811AMTTXG NCP2811BMTTXG NCP3163BMNR2G NCP3163MNR2G NCP5030MTTXG NCP5201MN NCP5201MNG NCP5201MNR2 NCP5201MNR2G NCP5203MNR2 NCP5203MNR2G NCP5210MNR2 NCP5210MNR2G NCP5214MNR2 NCP5214MNR2G NCP5217AMNTXG NCP5220AMNR2 NCP5220AMNR2G NCP5220MNR2 NCP5220MNR2G NCP5360AMNR2 NCP5360AMNR2G NCP5360RMNR2G NCP5385MNR2G NCP5810DMUTXG NCP6121S52MNR2G NCP6131NS52MNR2G NCP6131S52MNR2G NCP6132AMNR2G NCP6132BMNR2G NCP6132MNR2G NCP6151S52MNR2G NCP6153MNTWG NCP694DSAN33T1G NCV3163MNR2G NCV51411MNR2G NCV8614BMNR2G NCV8614MNR2G NCV8842MNR2G NCV8843MNR2G NJG1617K11-TE1

智能命令行在SOPC系统中的设计

命令行是计算机系统中最重要的组件之一。它可以帮助开发人员更方便的控制系统。在调试过程中,可以让开发人员随时变更测试方法。

FPGA的成本越来越低,FPGA上的嵌入式系统(SOPC)也应用得越来越广泛。但是相对其他成熟的计算机体系,SOPC系统现在还没有命令行。为了更好的推广SOPC应用,笔者开发了一个智能的命令行模块,可以调用系统中的任意函数,降低了开发人员的使用难度。在最小配置时,它只有大约1000行代码,占用14KB存储容量,可以放在完全由FPGA片内资源构成的计算机系统中。它的结构也具有很好的扩展性,开发人员可以结合自己的需求,轻松添加命令,丰富它的特性。

命令行框架设计

1 总体设计

好的命令行要具有扩展性,开发人员能轻松添加自己的命令;也要傻瓜化,简单易于使用。

为了达到这两个目的,可采用编译器创建的数组作为命令的总索引数据结构。为每条命令创建一个变量,指定它放在一个命令行专用的段中;其中用段“shell_cmd_tab”存放用户主动创建的命令;用段“shell_cmd_tab_auto”存放系统中所有全局函数。创建变量只需调用宏SHELL_CMD_DECL,提供命令名、命令说明和函数名即可。这样就可以实现C语言函数、变量、段、内存区域的自动映射过程。

命令的数据结构如下。

typedef struct _ncommand_t {

const char *name;

const char *descr;

shell_st_call cfunc;

} ncommand_t;

为了简化命令的创建,定义下面这个宏来创建命令。

#define SHELL_CMD_DECL(name, usage, func) ncommand_t _shell_cmd_tab_##func _attribute_ ( (section( “.shell_cmd_tab”) ) )={ name, usage, func }; // small memory version

创建命令的实例如下:SHELL_CMD_DECL(“dump”, “Shows a memory dump”, hexdump);

2 连接脚本

在连接脚本里指定段的位置是简化命令行使用流程的关键。GCC使用PROVIDE定义变量。笔者使用PROVIDE定义了各个段的起始地址和结束地址,从而可以在代码中使用段地址查询到所有命令。在编译器使用的连接脚本中添加如下行定义函数表。

.shell :

{

PROVIDE (__ram_shell_start = ABSOLUTE(。));

. = ALIGN(32 / 8);

PROVIDE (__ram_shell_cmd_tab_begin = ABSOLUTE(.));

*(.shell_cmd_tab .shell_cmd_tab.*)

PROVIDE (__ram_shell_cmd_tab_end = ABSOLUTE(.));

PROVIDE (__ram_shell_cmd_tab_auto_begin = ABSOLUTE(。));

*(。shell_cmd_tab_auto 。shell_cmd_tab_auto。*)

PROVIDE (__ram_shell_cmd_tab_auto_end = ABSOLUTE(。));

*(.shell .shell.*)

。 = ALIGN(32 / 8);

PROVIDE (__ram_shell_end = ABSOLUTE(。));

} > ddr_sdram3 动态函数表创建


由工具自动根据系统中的全局函数创建的命令被称为自动命令。自动命令使用户可以在命令行中调用任意普通函数,即使开发人员没有声明这些函数为命令。自动命令也需要一个数组包含系统中所有全局函数的信息,这个表为动态函数表。使用一个脚本根据系统的可执行文件自动生成动态函数表。要先编译软件,生成可执行文件;再调用脚本创建动态函数表;最后再编译出包含动态函数表的可执行文件。

在脚本中先使用GNU的nm工具从可执行文件导出所有全局符号,再使用grep提取出包括函数名的行,接着使用cut删除函数名前的地址信息,使用sed将字符T替换为创建命令的宏SHELL_CMD_DECL_AUTO,并在行尾添加括号。最后将所有这些信息写入一个C源代码文件,交给编译器编译,就能得到一个动态函数表。

4 自动命令参数个数

为了便于开发人员使用,自动命令最好能适应所有函数类型,假设都是unsigned int的函数类型。对于可以成功转化为unsigned int类型整数的参数,将真实的值传递给函数;对于其他参数,则将参数作为一个字符串传递给函数。

5 字符输入

命令行从标准输入设备中获取字符。命令行只接受可打印的字符和特定的控制字符。如果收到了回车或者换行字符,代表用户完成了命令输入,就解析命令。解析命令前,去掉多余的空格符(0x20),即不允许有连续的两个或多个空格符存在,命令的最后也不能有空格符。

6 参数解析

命令行模块要从用户输入的字符串中解析出命令名和参数。为命令提供与DOS和Linux类似的两个参数,argc和argv。argc表示参数的个数;argv是字符串指针的数组,最多10个字符串。argv[0]是第一个参数,argv[1]是第二个参数,如此类推。

7 函数解析

在代码中使用SHELL_CMD_DECL创建了命令列表,使用工具创建了自动命令列表。这两个表实际上都是数据结构ncommand_t的数组,其中有命令名和函数地址的信息。解析函数实际上就是根据在这两个数组中依次比较函数名。如果用户输入的命令名和数组中的命令名一致,就使用对应的函数地址。

8 命令执行

得到函数地址后,就可以执行命令对应的函数。对于主动创建的命令,使用argc和argv作为参数。对于自动命令,命令行模块先尝试将原始参数转换无符号整数。如果成功,使用无符号整数作为参数;如果不成功,则将原始参数的地址作为参数,实际上是一个字符串。

命令设计

完成总体设计后,就可以逐个添加开发需要的命令了。

● 帮助命令用于显示所有命令名及其用法。

● IO命令用来访问输入输出设备的寄存器,可以实现对外部设备的控制。

● 存储器命令用来显示、修改存储器的值。最基本的包括:dump命令显示指定位置的内存的值;modify命令用来修改指定内存单元的值。

● 用户在使用过程中,会使用很多命令。能够查询历史命令、循环执行历史命令将给用户带来很多方便。因此笔者实现了三条命令。history_show用来显示所有已经使用了的命令;history_del用来删除指定的历史命令;history_exec用来执行指定的历史命令。

优化处理

Altera提供了简化版的输出函数alt_printf来替代printf,降低了嵌入式系统的开销,笔者在命令行中也支持这个这个函数。命令行的代码中,只调用SHELL_PRINT;在头文件中,根据用户设置,SHELL_PRINT使用标准的printf或者简化的alt_printf。如果使用简化的alt_printf,这个命令行占用的内存小于14KB。

在SOPC系统中的应用

Altera为SOPC系统开发提供的集成开发环境NIOS II IDE附带了多个软件实例。在使用这些软件实例时,用户只需要选择模块,完全不用新编代码,非常简单。

智能命令行模块也可以作为NIOS II IDE的一个实例。先在“nios2edsexamplessoftware”目录下为命令行创建一个子目录shell_standard,再以其他软件实例的template。xml为模板创为命令行建一个template。xml文件,然后复制命令行模块的所有文件到这个目录中。这样,用户在创建工程时,直接选中智能命令行模板,就可以使用智能命令行模块了。



瀚佳科技是一家专业从事集成电路配套的供应商,在本行拥有多年的销售经验!
备有大量现货库存,诚信为本,客户至上,为客户把产品的质量关!
由于公司型号众多,无法一一上传,如在网站找不到您要的产品,请联系业务员,本司可提供电子元器件配单服务。
联系电话:0755-23140719/15323480719微信同号 (李先生)
联系QQ:3441530696/3449124707
联系地址:广东省深圳市福田区中航路鼎城大厦1607室
公司网址:http://www.szhanjia.com


NLAS3158MNR2G NLAS4684FCT1 NLAS4717EPMTR2G NLAS52231MUR2G NLAS5223BLMNR2G NLAS5223BMNR2G NLAS5223BMUR2G NLAS5223LMNR2G NLAS5223MNR2G NLAS6234MUTBG NLAS7222AMTR2G NLAS7222AMUR2G NLAS7222AMUTAG NLAS7222BMUTAG NLAS7222BMUTBG NLAS7222CMUTBG NLAS7242MUTBG NLAS8252MUTAG NLSV22T244MUTAG RT8015AGQW RT8020BGQW RT8020GQW RT8072GQW RT8073GQW RT8082GQW RT8105AGQW RT8208BGQW RT8209BGQW RT8209MGQW RT8228AZQW RT8240BZQW RT8241DZQW RT8241EZQW RT8450BGQW RT8804PQV RT8859MGQW RT9032BGQWA RT9360APQV RT9364PQW RT9368AGQW RT9378BGQW RT9505GQW RT9607PQV RT9643PQV RT9913BPQV RT9939GQW RTC6685 RTM875N-606 RTM875N-606-VD-GRT RTR6200 RX-4581NB S1D137323C1 S1D13732B03C10B SA9521HN/C1 SAFEH1G84FB0F00R00 SAFSE942MALOT05R12 SAN4915416E SAPA1D1-MLF SC2516 SC2516MLTR SC2516MLTRT SC2614 SC2614ML SC2614MLTR SC2615 SC2615ML SC2615ML.TR SC2615MLTRT SC415MLTRT SC417MLTRT SC4501MLTRT SC4508AMLTRT SC452IMLTRT SC4624MLTRT SC603IMLTR SC603IMLTRT SCANSTA476TSD SCANSTA476TSD/NOPB SCSALPDSBGA SDIO101IHR,515 SDIO101IHR,551 SFDG75BS101 SFHG42PS101 SGM3005XD/TR SGM3133YTQ16G/TR SGM3138YTQ16G/TR SH6962B SH6962BCAORGCR SH6962BAAORGCRG4 SI1000-C-GM SI1000-C-GMR SI1001-C-GM SI1001-C-GMR SI1002-C-GM SI1002-C-GMR SI1003-C-GM SI1003-C-GMR SI1004-C-GM SI1010-A-GM SI1010-A-GMR SI1012-A-GM SI1012-A-GMR SI1013-A-GM SI1013-A-GMR SI1015-A-GM SI1015-A-GMR SI1060-A-GM SI1060-A-GMR SI1061-A-GM SI1061-A-GMR SI1062-A-GM SI1062-A-GMR SI1063-A-GM SI1063-A-GMR SI1064-A-GM SI1064-A-GMR SI1065-A-GM SI1065-A-GMR SI1080-A-GM SI1080-A-GMR SI1081-A-GM SI1081-A-GMR SI1082-A-GM SI1082-A-GMR SI1083-A-GM SI1083-A-GMR SI1084-A-GM SI1084-A-GMR SI1085-A-GM SI1085-A-GMR SI2143-A30-GM SI2143-A30-GMR SI2161-D-GM SI2161-D-GMR SI2165-D-GM SI2165-D-GMR SI3210-E-FM SI3210-E-FMR SI3210-E-GM SI3210M-E-FM SI3210M-E-FMR SI3210M-E-GM SI3215-B-FM SI3215-B-FMR SI3215-C-FM SI3215-C-FMR SI3215M-C-FM SI3215M-C-FMR SI3216-C-FM SI3216-C-FMR SI32171-B-FM SI32171-B-FMR SI32176-B-FM SI32176-B-FM1R SI32176-B-FMR SI32176-B-GM SI32176-B-GMR SI32176-B-GM1 SI32176-B-GM1R SI32178-B-FM SI32178-B-FM1 SI32178-B-FMR SI32178-B-FM1R SI3230-E-FM SI3230-E-FMR SI3230M-E-FM SI3230M-E-FMR SI4126BM SI4126-BMR SI4134T-BM Si4134T-BMR SI4206-BMR Si4210-D-GM SI4210-D-GMR TUA6039B1 TUA6045 TUSB7320RKMR TUSB7320RKMT TW9910-NA2-GR TW9910-NA2-GRT TW9910-NB2-GR TWL3029BZWR TX810IRHHR TX810IRHHT TXB0104GXUR TXB0104QRGYRQ1 TXB0104RGYR TXB0104RGYRG4 TXB0104RUTR TXB0108RGY TXB0108RGYR TXB0108RGYRG4 TXB0108RGYT TXB0108RGYTG4 TXB0304RUTR TXBN0304RUTR TXS0104ERGYR TXS0104ERGYRG4 TXS4555RUTR UAA3537 UAA3537GHN/C1 UAA3537HN UAA3544HN/C1 UAA3595HN/C1 UBX-G5010-ST UCC28230DRNR UCC28230DRNRG4 UCC28230DRNT UCC28230DRNTG4 UCC28231DRNR UCC28231DRNRG4 UCC28231DRNT UCC28231DRNTG4 UM5059 UP6206AQGK UPA2350T1G-E4 UPD482445G5-60-7JG UPD65946GN-102-2M UPD78F4218AGF-3BA UPG2035T5F-A UPG2035T5F-E2-A UPG2157T5F-A UPG2157T5F-E2-A UPG2251T6M-A UPG2251T6M-E2-A UPG2301T5L-E2-A UPG2311T5F-A UPG2311T5F-E2-A USB1T1102MPX USB1T1103MPX USB2240-AEZG-06 USB2241-AEZG-05 USB2241-AEZG-06 USB2244-AEZG-05 USB2244-AEZG-06 USB2502-AEZG USB2512A-AEZG USB2512A-AEZG-TR USB2512-AEZG USB2512B-AEZG USB2512B-AEZG-TR USB2512BI-AEZG USB2512BI-AEZG-TR USB2512I-AEZG USB2513-AEZG USB2513B-AEZC USB2513B-AEZC-TR USB2513B-AEZG USB2513BI-AEZG USB2513BI-AEZG-TR USB2514 USB2514AEZG USB2514-AEZG USB2514-AEZG-TR USB2514AEZG-TR USB2514B-AEZC USB2514B-AEZC-TR USB2514B-AEZG USB2514B-AEZG-TR USB2514I-AEZG USB2514I-AEZG-TR USB2524-ABZJ USB2532-1080AEN-TR USB2532I-1080AENTR USB2533-1080AEN-TR USB2533I-1080AENTR USB2534-1080AEN-TR USB2534I-1080AENTR USB3250-ABZJ USB3321C-GL-TR USB3330E-GL-TR USB3500-ABZJ USB3740B-AI2-TR USB3740B-AI9-TR USB5537-AKZE USB5537B-4100AKZE USB5537B4100AKZETR USB5537BI4100AKZE USB5537BI4100AKZETR UX6603Q-V3 V112 V126 VC0917 VC0918 VC0918D VC0928D VC0938D VC0938D-LF VC0938D-40LP Si4700-A09-GM Si4700-A09-GMR SI4700-B15-GM SI4700-B15-GMR SI4703-B16-GM SI4703-B16-GMR SI5315A-C-GM SI5315A-C-GMR SI5315B-C-GM SI5315B-C-GMR SI5316-C-GM SI5316-C-GMR SI5317A-C-GM SI5317A-C-GMR SI5317B-C-GM SI5317B-C-GMR SI5317C-C-GM SI5317C-C-GMR SI5317D-C-GM SI5317D-C-GMR SI5319B-C-GM SI5319B-C-GMR SI5319C-C-GM SI5319C-C-GMR SI5322-C-GM SI5322-C-GMR SI5323-C-GM SI5323-C-GMR SI5324A-C-GM SI5324A-C-GMR SI5324C-C-GM SI5324C-C-GMR SI5324D-C-GM SI5324D-C-GMR SI5325C-C-GM SI5325C-C-GMR SI5326A-C-GM SI5326A-C-GMR SI5326B-B-GM SI5326B-B-GMR SI5326B-C-GM SI5326B-C-GMR SI5326C-C-GM SI5326C-C-GMR SI5327C-C-GM SI5327C-C-GMR SI5327D-C-GM SI5327D-C-GMR SI7606DN-T1-E3 SI7606DN-T1-GE3 SI8501-C-IM SI8502-C-IM SI8503-C-IM SI8511-C-IM SI8512-C-IM SI8513-C-IM SiI9287ACNU SII9287CNU SIO1036-ZG SIP32401ADNP-T1GE4 SIP32402ADNP-T1GE4 SIP32411DNP-T1-GE4 SIP32431DNP3-T1GE4 SIS187 SKY12146-321LF SKY12338-337LF SKY12407-321LF SKY13267-321LF SKY13299-321LF SKY13318-321LF SKY13345-368LF SKY13352-337LF SKY13353-337LF SKY13374-397LF SKY13385-460LF SKY65111-348LF SKY65206-11 SKY65206-13 SKY65208-R4 SKY65208-11 SKY65227-11 SKY74073-13 SKY74117 SKY74117-13 SKY74117-13A SKY77148-15 SKY77149-14 SKY77162-12 SKY77175-14 SKY77252-13 SKY77255-11 SKY77304-17P SKY77324-12 SKY77324-12B SKY77328-13 SKY77328-13A SKY77506-13 SKY77506-13A SKY77518-11 SKY77518-11A SKY77518-21 SKY77518-21A SKY77531-11 SKY77531-21 SKY77542-11 SKY77547-11 SKY77552-11 SKY77592-21 SL28647BLC SL28647BLCT SL28647CLC SL28647CLCT SL28EB742ALC SL28EB742ALI SLG84450V SLG8SP628VTR SM0301L-423-G02 SM2110 SM8132AB-G-EL SN3100 SN3100JIR1 SN3103I420E SN3189I320E SN3218I424E SN3226JIR1 SN3227I208 SN3227I208E SN3228AI212E SN3228BI212E SN3726JIR1 SN4066JIR1 SN4915I416E SN65LVCP1414RLJR SN65LVCP1414RLJT


瀚佳科技是一家专业从事集成电路配套的供应商,在本行拥有多年的销售经验!
备有大量现货库存,诚信为本,客户至上,为客户把产品的质量关!
由于公司型号众多,无法一一上传,如在网站找不到您要的产品,请联系业务员,本司可提供电子元器件配单服务。
联系电话:0755-23140719/15323480719微信同号 (李先生)
联系QQ:3441530696/3449124707
联系地址:广东省深圳市福田区中航路鼎城大厦1607室
公司网址:http://www.szhanjia.com

上一篇:ATMEGA8-16PU

下一篇:AD71058YSTZ

相关新闻

相关型号