TM4C BootLoader1

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)