完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
无法在STM8S105K6中从RAM运行Bootloader代码
以上来自于谷歌翻译 以下为原文 Unable to run Bootloader code from RAM in STM8S105K6 |
|
相关推荐
7个回答
|
|
我认为你应该将flash_write和erase函数复制到ram而不是整个iap应用程序。
stm8s_flash.c在.FLASH_CODE部分中找到这些函数。然后你应该把它添加到 项目设置 - >链接器 - >类别 - >输入 - > ram。不要忘记将选项更改为-ic。然后你可以使用fctcpy将它复制到ram。 以上来自于谷歌翻译 以下为原文 I think you should copy the flash_write and erase function to ram rather than the total iap application. The stm8s_flash.c locate these functions in .FLASH_CODE section. Then you should add it in the project setting -> linker -> category -> input ->ram. Don't forget to change the option to -ic. Then you can use the fctcpy to copy it to ram. |
|
|
|
感谢您的回复。由于我的RAM代码只读取UART并写入FLASH(引导加载程序代码的大小为300字节)。我不能直接从RAM运行?如你所知,我在RAM中定义了FLASH_CODE部分
谢谢, Raghavendra [此消息由编辑:raghavendra.hn于20-08-2009 12:23编辑] 以上来自于谷歌翻译 以下为原文 Thank you for reply. Since my RAM code does only reading from UART and writing to FLASH(Size of bootloader code is 300bytes). Can't I directly run from RAM? as you told, I have defined FLASH_CODE section in RAM Thanks, Raghavendra [ This message was edited by: raghavendra.hn on 20-08-2009 12:23 ] |
|
|
|
嗨Raghavendra,
您必须添加在应用程序中使用的专用FLASH字节操作函数(在FLASH_CODE节定义之后复制/粘贴stm8s_flash.c中所需的函数) 是的,如果您的代码低于RAM大小,则可以从RAM运行。 问候 mozra 以上来自于谷歌翻译 以下为原文 Hi Raghavendra, You must add the dedicated FLASH byte operation functions that you use in your application (copie/paste the needed functions in the stm8s_flash.c after the FLASH_CODE section definition) Yes you can run from RAM if your code lowers than RAM size. Regards mozra |
|
|
|
嗨,
感谢您的投入。我无法从引导加载程序代码中擦除闪存。我只能擦除闪存的一部分,即只有我可以擦除闪存的前两个块。它没有从0x8100中删除。请帮我解决这个问题。 谢谢, Raghavendra 以上来自于谷歌翻译 以下为原文 Hi, Thanks for the input. I'm unable to erase the flash from my bootloader code. I could only erase part of flash i.e., only i could erase first two blocks of the FLASH. It is not erasing from 0x8100. Please help me to resolve this issue. Thanks, Raghavendra |
|
|
|
嗨Raghavendra,
您可以通过检查用户启动代码(UBC)选项字节值来检查用户启动代码区域的大小,通常引导加载程序区域是读/写保护的。 有关详细信息,请参阅用户引导代码区域,如参考手册(RM0016)“第4.4.1节:用户引导区域(UBC)”中所述。 问候 mozra 以上来自于谷歌翻译 以下为原文 Hi Raghavendra, Can you please check the size of the user boot code area by checking the user boot code (UBC) option byte value, normally the bootloader area is read/write protected. For more details you can refer to user boot code area as described in reference manual (RM0016) ''Section 4.4.1: User boot area (UBC)''. Regards mozra |
|
|
|
嗨Raghavendra,
您的应用程序使用的时钟速度是多少?如果高于16MHz 请尝试等待状态= 1并通知我们 问候 mozra 以上来自于谷歌翻译 以下为原文 Hi Raghavendra, What is the clock speed used in your application? if higher than 16MHz please try with wait state = 1 and keep us informed Regards mozra |
|
|
|
嗨,大家好,
我试图遵循你做的相同的实现,我有一个问题: 我不明白句子''你应该将flash_write和erase函数复制到ram而不是整个iap应用程序'' 为什么只有这些功能?我们不应该把所有代码都移到RAM吗?对于bootloader应用程序,我们将在上传代码时重新编写所有FLASH。 谢谢 以上来自于谷歌翻译 以下为原文 hi guys, I am trying to follow the same implementation you did and I have a question: I do not understand the sentence ''you should copy the flash_write and erase function to ram rather than the total iap application'' Why only those functions? Shouldn't we we move all the code to RAM? For a bootloader app, we will re-write all the FLASH when uploading the code. thanks |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2733 浏览 1 评论
3241 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1810 浏览 1 评论
3650 浏览 6 评论
6038 浏览 21 评论
1339浏览 4评论
201浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
443浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
274浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 20:26 , Processed in 1.323660 second(s), Total 90, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号