完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
有人知道在Keil中用FulMelf工具生成PSOC6的正确的bin文件的方法吗?
Keil中的默认配置只能输出十六进制文件。我需要使用FulMelf工具来生成bin文件。 通过一些搜索,我找到了下面的命令来使用。 FlMelf——BIN——输出=CM4.Bin CM4.AXF 但是它生成一个文件夹而不是一个bin文件。该文件夹包含以下部分,看起来需要合并在一起。 然后我尝试使用下面的命令。 FullMF-BIONEXPRECTOR:CM4.BIN CM4.AXF,它确实生成一个bin文件,但是它非常大,大约128MB。我想这是因为我们的链接器文件定义了几个不连续的内存区域。二元组合的行为可以解释这一点。 郝 以上来自于百度翻译 以下为原文 Anyone knows the way to generate correct bin file for PSoC6 with fromelf tool in Keil? Default configuration in Keil just can output hex file. I need to use fromelf tool to generate bin file. With some searching, I found the following command to use. >fromelf --bin --output=cm4.bin cm4.axf But it generates a folder instead of one bin file. The folder contains the following parts, looks like it needs to be combined together. Then I tried to use the following command. >fromelf --bincombined --output=cm4.bin cm4.axf, it does generate one bin file, but it's very big, around 128MB. I suppose this is caused by our linker file defines several discontinuous memory regions. The behaviour for --bincombined may explain this. Hao |
|
相关推荐
1个回答
|
|
我找到了解决这个问题的快速方法。
实际上,输出是基于FROMLF用户指南信息的。 使用时应注意的问题 如果将包含多个加载区域的ELF图像转换为二进制格式,则FulMelf创建一个 输出目录名为目的地,并为每个加载区域生成一个二进制输出文件 输入图像。FROMLF将输出文件放置在目标目录中。 生成的文件与链接器文件加载区域对齐。例如,对于CM4内核,MCU内部闪存的区域如下。 LRSflash闪光灯启动闪光灯大小{ErFlash矢量+ 0 {*(重置,+1)} ErFlash代码+ 0固定{*(根目录$$部分)*(+RO)} ErthRaMa向量RAMYSTART UNIIT {*(ReSETYRAM,+1)} ErthRaMyDATA + 0 {*(CyrRAMFUNC)。任何(+RW,+ZI)} 将变量放置在设备启动期间不应初始化的节中。ErthRaMiNoiTixDATA + 0 UNIIT {*(.NOIIT)} 用于安全应用程序和Bootloader SDK应用的数字签名。截面的大小取决于所需的数据大小。CythAppII签名(Flash启动+ Flash大小-256)256 {*(.CyAppApple签名)} 因此,CM4.Bin文件夹中的输出文件中有四个区域。我只需要把它们串联起来。Linux命令可以帮助实现这一简单。 $猫Era Flllh矢量ErlFlasyEnter ErlRAMYA数据Erm RAMY-NOYNONITIT & G.CM4.Bin 那么MeGe3文件意味着什么呢?如果使用FROMEF工具为CM0内核生成bin,它们实际上是相同的四个负载区域的CM0 bin文件。您可以轻松地根据文件大小检查哪一个文件与CM0文件中的哪些区域有关。这是因为CM4 AXF文件实际上合并CM0和CM4图像。 郝 以上来自于百度翻译 以下为原文 I have found a quick solution to this problem. Actually what is output is expected based on fromelf user guide information. Considerations when using --bin If you convert an ELF image containing multiple load regions to a binary format, fromelf creates an output directory named destination and generates one binary output file for each load region in the input image. fromelf places the output files in the destination directory. The generated files aligns with the linker file load regions. For example, for cm4 core, the regions in MCU internal flash is as follows. LR_FLASH FLASH_START FLASH_SIZE { ER_FLASH_VECTORS +0 { * (RESET, +FIRST) } ER_FLASH_CODE +0 FIXED { * (InRoot$$Sections) * (+RO) } ER_RAM_VECTORS RAM_START UNINIT { * (RESET_RAM, +FIRST) } ER_RAM_DATA +0 { * (.cy_ramfunc) .ANY (+RW, +ZI) } ; Place variables in the section that should not be initialized during the ; device startup. ER_RAM_NOINIT_DATA +0 UNINIT { * (.noinit) } ; Used for the digital signature of the secure application and the ; Bootloader SDK appication. The size of the section depends on the required ; data size. .cy_app_signature (FLASH_START + FLASH_SIZE - 256) 256 { * (.cy_app_signature) } } So what appears in the output file in cm4.bin folder has four of the regions. I just need to concatenate them together. Linux command can help achieve this easliy. $cat ER_FLASH_VECTORS ER_FLASH_CODE ER_RAM_DATA ER_RAM_NO_NOINIT > cm4.bin Then what does those .merge0 to .merge3 files mean? They are actually the same files for cm0 bin for the same four load regions if you use fromelf tool to generate bin for cm0 core. You can easily check which file relates to which regions in cm0 file based on file size. This is because cm4 axf file actually merges cm0 and cm4 image. Hao |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2105 浏览 1 评论
1851 浏览 1 评论
3669 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1786 浏览 6 评论
1536 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
570浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
423浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
437浏览 2评论
384浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
915浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:01 , Processed in 0.726349 second(s), Total 45, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号