新闻  |   论坛  |   博客  |   在线研讨会
TUSB3210的程序运行机制
0750long | 2009-04-16 10:27:21    阅读:2152   发布文章

TUSB3210的程序运行机制

 

TUSB3210是TI推出的一款通用USB控制器,采用标准的8052为处理器核心,内部集成了USB 接口引擎和控制电路,并配有IIC接口供存储固件程序的EEPROM使用。

TUSB3210虽然是采用标准8052作为内核,但跟通常的51类单片机还是有些区别,特别是跟一些常见的单片机如AT89S52/51,STC的51单片机等,在这些器件内部都有保存程序的FLASH ROM,用户将开发的程序烧入单片机的ROM中。单片机在正常工作状态下,上电时就从ROM位置的0x0000开始运行。如果习惯了这些类别的单片机,一开始接触TUSB3210就会有些不习惯,因为在TUSB3210的内部根本就不存在这种可供用户使用的ROM,但是却有一段ROM空间供引导程序使用,引导程序的作用就是从外部IIC接口或USB接口下载用户编写的固件程序到内部的RAM运行:TUSB3210上电时,内部ROM被映射到CODE区域的地址为0X0000开始的区域,首先执行存储在内部ROM的引导程序,引导程序决定是从IIC接口还是USB接口下载用户程序到内部RAM区域,这时的RAM映射为XDATA区域的0x0000开始的8k区间,这个时候的RAM可以供引导程序作为普通的RAM使用,可以读写。当引导程序将用户程序下载到RAM区域后,固件程序使RAM映射到CODE区域的0X0000开始的区间,也就是说开始执行RAM中的代码。这个机制在ARM处理器中比较常见,也就是常说的重映射。

正因为TUSB3210可以通过USB接口下载用户程序,可以使用这个机制来作为一种调试的方法,不必要每次都将用户程序烧写到IIC接口的EEPROM,而将用户程序存储在PC上,可以方便调试,也延长了EEPROM的使用寿命,只有在最终的产品上才使用IIC接口的EEPROM作为用户的程序存储器。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客