datasheet

STR910常见问题解答

2016-06-30来源: eefocus关键字:STR910  常见问题
问: 我需要在我的固件中做什么特别的设置,以利用ARM9中哈佛结构和五级流水线的优势吗?
答:不需要。首先,STR9的ARM966E核心在二进制代码上与ARM7兼容,即ARM7的代码可以不经修改地在STR9上运行。任何第三方的支持STR9的编译器,都可以产生ARM7或ARM966E的代码;当指定STR9(或ARM966E)时,编译器会自动地产生利用了ARM966E的哈佛结构和五级流水线优势的代码。固件工程师不需要为此做特别的操作。

问:CPU是从双FLASH存储器中的哪一个FLASH启动(自举)的?
答:CPU可以从任一个FLASH存储器启动。CPU默认是从较大的FLASH启动,但这可以用ST的CAPS工具软件或第三方工具商的IDE改变。指定从哪个FLASH启动是通过JTAG编程实现,这一设置不会因掉电而改变,除非芯片被擦除。

问:FLASH存储器可以当成数据存储器使用吗?
答:可以。任一个FLASH存储器都可以作为数据存储器读写。较小的FLASH存储器组织成四个扇区,每个扇区有8K字节。使用适当的软件技巧可以将这些FLASH扇区模拟成EEPROM存储器,这样可以有效地通过模拟突破FLASH的100K次擦写限制。这将有可能节省掉一个外部的EEPROM存储器。

问:USB接口是否有特定缓冲区?它可支持多少端点?
答:是的,USB接口(经USB.org认证及公示)有一个2K字节的双端口SRAM包缓冲区,可在同步和块传输中实现双缓冲器算法。USB接口有20个单向的或10个双向的端口;它还支持USB的待机/唤醒操作。

问:请用实例说明在产品中如何使用侵入检测管脚
答:例如,当STR9用在便携式销售终端上,SRAM中很可能保存了敏感信息,如信用卡资料;侵入检测管脚可以通过一个开关检测到该设备的外壳是否被打开,当外壳被打开时SRAM中的敏感信息将即刻被销毁,同时RTC将这个事件发生的时间纪录在它的存储器中。

问:各种入门套件的程序代码限制是多少?
答:除了IAR套件的代码限制是32K字节外,其他所有套件的代码限制是16K字节。

问:ETM指令跟踪接口需要多少管脚?在结束调试后,这些管脚是否可用于其他用途?
答:ETM接口使用九个管脚。在不需要进行指令跟踪调试时,这9个脚可以用于其它功能。

问:在存储器中有特别的地方存放以太网的MAC地址吗?
答:有。在STR9中有一个30字节的一次编程存储器,数据只能写入一次并永远不能被擦除或被改写。CPU或JTAG都可以对这些字节编程。典型的用法是在这个30字节存储器中保存MAC地址、序列号、校准常数、产品ID号等信息。

问:STR9将有高达2兆字节的基本FLASH存储器,为什么第二个FLASH存储器也很大,达到128K字节?
答:较大的第二个FLASH存储器可以容下复杂的自举启动程序,如进行远程FLASH存储器的固件更新。在这么大的存储器中,也许您可以包含更多的功能,如纠错和重传、加密算法,甚至通过不同的通道(以太网、USB、CAN、UART或SPI)更新固件程序。另一方面,这个128K字节的存储器可以用于存放应用程序,而2兆字节存储器可以用于存放大量的数据,如在一个小型的打印机产品中存放中文字库。

问:USB中的DFU协议是什么?
答:DFU是一个完整的USB协议,DFU代表“DEVICE Firmware Upgrade”(设备固件升级)。遵照这个协议,ST提供了一个PC程序,这个程序与STR9中第二个FLASH存储器的DFU驱动协调,用户可以从PC向STR9的基本FLASH存储器下载固件程序,或从STR9的基本FLASH存储器读出二进制代码。

问:USB接口可以做USB主机吗?
答:这个USB接口是一个全速的设备,不可以做USB主机。

问:这个芯片中FLASH存储器的最小擦除单位是多少?
答:FLASH存储器的写入是以16bit为单位,但擦除只能以单独的扇区或整块FLASH为单位。第二个FLASH存储器有四个扇区,每个扇区的大小为8K字节。基本FLASH存储器的每个扇区大小为64K字节,256K字节的产品中有八个64KB的扇区,512K字节的产品中有16个64KB的扇区。两块FLASH存储区是独立的,CPU可以在擦除或写入一块FLASH的同时读另一个FLASH存储器。

问:扩展存储器的1MB和2MB的版本,是否同样出现在STR910和STR911?
答:1MB和2MB的版本会扩展到STR911,但不包括STR910。但STR911和STR912在各种封装上都有与STR910管脚兼容的产品,客户可以很方便地根据存储容量的需要选择产品。

问:程序可以在外部存储器上运行吗?
答:当然可以。如果你的FLASH或SRAM接到外部存储器接口上,CPU可以直接运行这些外部存储器上的程序。

问:是否能用固件程序支持通过RS232的在程序中编程(IAP)?
答:因为芯片中有两块FLASH存储器,您可以通过任何外设实现在程序中编程。请登陆ST的网站,我们有一个应用笔记解释了如何在STR9上通过UART实现IAP。

问:STR9有几个CAN接口?
答:所有STR9的芯片都有一个CAN 2.0B的接口。

问:0.7us的ADC转换时间,是每个通道的时间,还是片上所有通道的转换时间?
答:当ADC时钟为25MHZ时,每个ADC通道需要0.7us的转换时间;这个时间包括在一个ADC输入通道上采样、转换和数据传送的时间。

问:尽管该芯片没有MMU,它能运行Linux吗?
答:uCLinux可以运行于没有MMU的环境,STR9上可以运行uCLinux。但ST不提供STR9的uCLinux板级支持包。

问:能否使用后备电池把STR9的SRAM当成不掉电的SRAM使用?
答:当然可以。如果在STR9初始化时,选择了SRAM后备电池的选项,所有SRAM的内容在CPU掉电的情况下都不会丢失。保存SRAM中所有96K字节的内容,在室温下只从后备电池消耗5uA的电流。

问:哪些是这个系列产品理想的应用领域?你们有具体实现的方向吗?你们认为哪些是最佳的应用?
答:这是一个非常通用的微控制器,在片上有许多精心配制的设备,使它成为许多应用领域的理想选择。同时我认为在某些领域它能做得很好,嵌入式网络控制就是一个很理想的应用领域,在很小的封装中集成了以太网MAC和巨大的SRAM,非常适合用于以较低的成本实现需要连到局域网的嵌入式产品,这样的需求在以前因为成本的原因几乎是不可能实现。其他我认为值得注意的特点还有低功耗模式和后备电池模式,非常适用于便携式产品,如手持销售终端和测试测量仪器等。众多的通信通道和大量的I/O端口,刚好满足楼宇与工业自动化设备的需求。如果考虑大容量的SRAM和FLASH、ARM966E的DSP指令再加上高速的ADC,医疗和通讯设备又出现在我们的视野中。这款芯片可以适用于非常广泛的应用领域,但我认为最重要的特性是以太网MAC,将应用领域扩展到了嵌入式网络环境中。

问:片上GPIO的最大工作频率是多少?
答:GPIO的最大工作频率是12MHZ。

问:是否所有套件具有相同的功能?
答:从硬件的角度讲,所有入门套件都具有近似的功能,因为在每个套件上STR9的主要通信通道都是能够访问的。不同的是一些附加的外设配置,如LCD,SD卡接口,音频接口等。不同套件的主要区别是所使用的集成开发环境与C编译器不同,他们由不同的厂商提供;有些套件使用开源的编译器,有些则使用他们自己特定的编译器。

问:CAPS软件使用哪种JTAG编程适配器?
答:CAPS支持Raisonance的RLINK JTAG接口和ST的FLASHLINK JTAG接口,这两种接口的价钱都是59美元。这些编程接口适用于中小型生产线上对STR9编程的需要。

问:你们对STR9系列微控制器的生存周期有什么期望?
答:这些器件是针对工业应用领域,ST清楚地知道工业应用领域的产品具有相当长的生存周期,我们的产品满足这个需求。

问:如何有效地保护片上FLASH中的程序不会被非法读出?
答:在开发完成后,有一个只能通过JTAG接口设置的保密位,一旦设置了该保密位后,通过外部JTAG接口将不能读出FLASH存储器的任何内容,JTAG调试的功能也同时失效。清除保密位的唯一办法是通过JTAG接口擦除整个STR9的存储器,这样一个空的器件可以再次利用。

问:CPU可以将程序存储区的内容按数据读出,这是否意味着可以在系统上电时执行FLASH存储器中代码的自检?
答:是的。实现这个功能的最好方法是从STR9中较小的FLASH区启动,在这里有校验较大FLASH存储区的代码,当代码校验成功,CPU可转去执行较大FLASH存储区的代码;否则,CPU可以执行程序更新代码,同过任一STR9的通信通道刷新FLASH存储区的代码。

问:在评估套件中是否包含汇编的支持,是否有代码大小的限制?
答:对汇编的支持是集成开发环境(IDE)的部分,我相信所有IDE都允许你用C或汇编写程序。对代码大小的限制上,汇编程序与C程序是一样的。

问:STR9的DSP是否可用在声波反相?
答:目前我们还没有太多经验,具体哪些应用比较适合,但STR9的DSP功能的评估结果给我们留下深刻印象;如STR9完成一个1024点的快速富力叶变换(FFT)只用了714us。

问:STR9是否可配置与SD存储卡或NAND闪存接口?
答:没有专门的接口,但可通过GPIO连接实现。

关键字:STR910  常见问题

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/article_2016063027307.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:LPC2xxx启动代码分析
下一篇:ARM与51编写程序的区别

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

基于STR711FR2的SIM卡检测系统设计

随着现代社会科学技术的发展,人们对于移动产品的便携性和便利性和高效性的要求越来越高。SIM卡作为智能卡中特殊的一种,采用标准的接触式IC卡,符合IS07816标准规范,它沿袭了智能卡在安全中的特色,在移动商务中扮演着很重要的角色。因此SIM卡的应用范围也变得越来越广,可以应用于金融、便捷支付等高端应用领域。但是对于已经投放到市场上的卡片,运营商对于鉴别是哪个供应商供应的产品比较困难,而且对于供应商自己来说对于自己生产的卡片进行质量检测也是十分必要的。鉴于ARM的高性价比,本文采用一种基于ARM7TDMI内核的CPU STR711FR2作为处理器作为系统核心,设计一款SIM卡读卡系统,它可以兼容符合7816协议的A,B,C 3种卡片
发表于 2016-09-19
基于STR711FR2的SIM卡检测系统设计

STR912--IAP问题

0x00, 然后通过软件设置将bank0物理地址映射到虚拟地址0x00,bank1映射到虚拟地址0x80000   //RAM_exe void Execute_STR9Application(void) void Execute_STR9Application(void) {     pFunction Jump_To_Application;     /* -------------------------------------------------------------------------- */   
发表于 2016-06-30
STR912--IAP问题

ARM架构下LDR、STR、MOV和伪指令LDR指令理解

ARM是RISC结构,数据从RAM到CPU寄存器之间的移动只能通过L/S指令来完成,也就是ldr/str指令。 比如想把数据从RAM中某处读取到CPU寄存器中,只能使用ldr 比如: ldr r0, 0x12345678 就是把0x12345678这个地址中的值存放到r0中。 而mov不能干这个活,mov只能在CPU寄存器之间移动数据,或者把立即数移动到CPU寄存器中,这个和x86这种CISC架构的芯片区别最大的地方。 x86中没有ldr这种指令,因为x86的mov指令可以将数据从RAM中移动到CPU寄存器中。 另外,还有一个就是ldr伪指令,虽然ldr伪指令和ARM的ldr指令很像,但是作用不太一样。ldr伪指令
发表于 2016-06-22

ARM 汇编 LDR STR MOV

 ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。比如想把数据从内存中某处读取到寄存器中,只能使用ldr比如:ldr r0, 0x12345678就是把0x12345678这个地址中的值存放到r0中。而mov不能干这个活,mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中,这个和x86这种CISC架构的芯片区别最大的地方。x86中没有ldr这种指令,因为x86的mov指令可以将数据从内存中移动到寄存器中。另外还有一个就是ldr伪指令,虽然ldr伪指令和ARM的ldr指令很像,但是作用不太一样。ldr伪指令可以在立即数前加上=,以表示把一个地址写到某寄存器中
发表于 2016-06-21

arm汇编ldr,str,b,bl指令

;    ;返回 下面的在BLOG中看到觉得讲得比较详细就拷过来了 ARM汇编指令的一些总结 ARM汇编指令很多,但是真正常用的不是很多,而且需要认真琢磨的又更少了。 比较有用的是MOV B BL LDR STR 还是通过具体汇编代码来学习吧。 @ disable watch dog timer       mov   r1, #0x53000000   //立即数寻址方式  mov   r2, #0x0  str   r2
发表于 2016-06-21

stm32使用MDK开发中的一些常见问题

1. 解决:keil报错invalid redeclaration of type name "s32"答案:一般在Target Options C/C++选项卡里的Include Paths 里要添加几个固定的头文件路径,..CMSISCM3CoreSupport..CMSISCM3DeviceSupportSTSTM32F10x..STM32F10x_StdPeriph_Driverinc..userinc 是头文件路径问题,KEIL只要有一个头文件找不到,就会自已从本身的INC文件夹找头文件,结果就会出现以上错提示。把老版的头文件改为STM32F10X.H.新的库已经
发表于 2019-06-13

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved