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作为用户的程序存储器。
用户388570 2011-8-15 11:28