概述
T exas Instruments®Tiva®引导加载程序是一小段代码,可在flash开始时编程,作为应用加载程序以及在基于Tiva ARM Cortex™- m4的微控制器上运行的应用程序的更新机制。引导加载程序可以构建为使用UART、SSI、I2C、can、以太网或USB端口来更新微控制器上的代码。引导加载程序可以通过修改源代码来定制,或者在编译时简单地决定包含哪些例程。由于提供了完整的源代码,所以可以完全定制引导加载程序。
注意:对于UART, I2C和SSI, ROM引导加载程序对于UART0, I2C0和SSI0是固定的。如果应用程序使用外围设备的任何其他实例,则必须由模拟器将其加载到flash中。
使用了三个更新协议。在UART、SSI、I2C和CAN上,使用自定义协议与下载工具通信,以传输固件映像并将其编程为flash。然而,当使用以太网或USB DFU时,使用不同的协议。在以太网上使用标准引导协议(BOOTP),对于USB DFU,通过标准设备固件升级(DFU)类执行更新。
当配置为使用UART0、以太网或USB时,可以使用LM Flash程序员GUI通过引导加载程序下载应用程序。lmflashprogrammer实用程序可以从http://www.ti.com/tool/lmflashprogrammer下载。
源代码概述
下面是引导加载程序提供的源代码组织的概述
bl_autobaud.c 在UART端口上执行自动波特操作的代码。这与UART代码的其余部分是分开的,以便链接器可以在不使用它时删除它
bl_can.c 通过CAN端口执行固件更新的功能。
bl_can.h CAN更新例程使用的定义。
bl_check.c检查固件更新是否需要,或用户是否请求固件更新的代码。
bl_check.h更新检查代码的原型
bl_commands.h 引导加载程序支持的命令和返回消息列表。
bl_config.c一个伪源文件,用于将bl_config.h C头文件转换为可以包含在汇编代码中的头文件。这是Keil工具链需要的,因为它不能通过C预处理器传递汇编源代码。
bl_config.h.tmpl引导加载程序配置文件的模板。它包含所有可能的配置值。
bl_decrypt.c 对下载的固件映像执行就地解密的代码。在此文件中没有实际执行解密;这只是一个简单的存根,可以展开它来执行所需的解密
bl_decrypt.h本地解密例程的原型。
bl_enet.c通过以太网端口执行固件更新的函数。
bl_fs.c该函数提供简单的FA T文件系统支持
bl_fs.h文件系统函数的原型
bl_i2c.c通过I2C端口传输数据的函数
bl_i2c.hI2C传输函数的原型
bl_linkid 当使用codered、gcc或sourcerygxx编译器构建引导加载程序时使用的链接器脚本。
bl_link.sct在使用rvmdk编译器构建引导加载程序时使用的链接器脚本。
bl_main.c引导加载程序的主控制循环。
bl_packet.c用于处理命令和响应的数据包处理的功能。
bl_ssi.c 通过ssi端口读取数据的函数
bl_startup_ccs。当使用ccs编译器构建引导加载程序时使用的启动代码。
bl_startup_codered。当编码的编译器被用来构建引导加载程序时使用的启动代码。
bl_startup_ewarm。当ewarm编译器被用来构建引导加载程序时使用的启动代码。
bl_uart.c通过UART端口传输数据的函数。
bl_usb.c实现USB DFU协议引导加载程序的主要函数。
bl_usbfuncs.h USB库的简化版本,包含对枚举的支持和实现USB DFU设备所需的端点0事务。
usbdfu.h与USB设备固件升级类相关的标签引导加载程序。
最后
以上就是彪壮果汁为你收集整理的TM4C BootLoader1的全部内容,希望文章能够帮你解决TM4C BootLoader1所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复