我想将剥离的.out 文件流式传输到引导加载程序以进行升级。 遗憾的是、详细介绍程序段的程序头表出现在.out 文件的末尾。 在链接期间是否可以转换.out 文件或以不同方式生成该文件、以便在程序数据之前移动标头、使其可以流式传输?
或者、是否有其他工具可以用于生成可流式格式? 我希望格式为二进制、例如、TI-TXT 格式的厚度是原来的3.x 倍、传输时间要长得多。 目前、我将把 TI-TXT 转换为具有相同信息的二进制形式、但我想省去自定义转换、只使用 CCS 提供的工具。
示例:请注意程序头出现在 ELF 文件偏移142,348处、而所有程序段偏移在那个前。
ElfHeader (magic=b'\x7fELF'、bitwidth=1、endianess=1、版本=1、osabi=0、 abi=0、fillettype=2、machin=0x69、version2=1、entry_address=0xb358、 OFF=142348 ,shoff=142668,flags=0,header_size=52,pH_entry_size=32, ph_num=10、sh_entry_size=40、sh_num=99、sh_string_index=98)
ELF_Program_Header (segment_type=1、 偏移= 52、 虚拟地址=0x1c00、物理地址=0x1c00、文件大小=0、存储器大小=6712、标志=6、 ALIGN = 4)
ELF_Program_Header (segment_type=1、 偏移= 52、 虚拟地址=0x4000、物理地址=0x4000、文件大小=0、存储器大小=448、标志=6、 ALIGN = 4)
ELF_Program_Header (segment_type=1、 偏移= 52、 Virtual_address=0x4400、physical_address=0x4400、file_size=0、memory_size=14452、flags=6、 对齐=2)
ELF_Program_Header (segment_type=1、 偏移= 52、 虚拟地址=0xa000、物理地址=0xa000、文件大小=2、内存大小=2、标志=4、 对齐=2)
ELF_Program_Header (segment_type=1、 偏移=56、 virtual_address=0xa002、physic_address=0xa002、file_size=0、memory_size=94、flags=6、 ALIGN = 1)
ELF_Program_Header (segment_type=1、 偏移=56、 Virtual_address=0xa402、physical_address=0xa402、file_size=19294、memory_size=19294、flags=5、 对齐=2)
ELF_Program_Header (segment_type=1、 偏移= 19352、 虚拟地址=0xFF80、物理地址=0xFF80、文件大小=16、存储器大小=16、标志=4、 ALIGN = 1)
ELF_Program_Header (segment_type=1、 偏移=19368、 virtual_address=0xFFac、physic_address=0xFFac、file_size=82、memory_size=82、flags=4、 ALIGN = 1)
ELF_Program_Header (segment_type=1、 偏移=19452、 virtual_address=0x26400、physical_address=0x26400、file_size=24509、memory_size=24509、flags=4、 对齐=2)
ELF_Program_Header (segment_type=1、 偏移=43964、 Virtual_address=0x2c3be、physical_address=0x2c3be、file_size=97338、memory_size=97338、flags=5、 对齐=2)
构建目标:"f4600_v2.out"
调用:MSP430链接器
flags:-vmspx --data_model=large -O1 - opt_for_speed=1 --use_hw_mpy=F5 --advice:hw_config=all /ti/ccs1200/ccs/ccs_base/msp430/include --define=__MSP430FR6047_--symdebug:dwarf_version=4 --c99 --printf_support=minimal /ti/ccs1200/ccs/ccs_base/msp430/lib/5xx_6xx_FRxx /ti/ccs1200/ccs/ccs_base/msp430/lib/FR59xx /ti/ccs1200/ccs/tools/compiler/ti-cgt-msp430_21.6.1.LTS/lib /ti/ccs1200/ccs/tools/compiler/ti-cgt-msp430_21.6.1.LTS/include
"C:/ti/ccs1200/ccs/tools/compiler/ti-cgt-msp430_21.6.1.LTS/bin/cl430 "-@"ccsLinker.opt"-o "f4600_v2.out"

