完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,
有人知道如何正确跳转到地址0x602D的Bootloader入口点吗? 我试过了 : #define BOOTLOADER_ADDR 0x602Dul typedef void(* TFunction)(void); void JumpToBootLoader(void) { const TFunction MainUserApplication =(TFunction)BOOTLOADER_ADDR; TFunction GoAddress; GoAddress(); } 但它似乎没有进入切入点。 非常感谢, jfelix 以上来自于谷歌翻译 以下为原文 Hi, Does anybody knows how to jump properly to Bootloader entry point at adress 0x602D? I 've tried : #define BOOTLOADER_ADDR 0x602Dul typedef void (*TFunction)(void); void JumpToBootLoader(void) { const TFunction MainUserApplication = (TFunction)BOOTLOADER_ADDR ; TFunction GoAddress; GoAddress(); } but it does not seems to go the entry point. Many thanks, jfelix |
|
相关推荐
9个回答
|
|
菲利克斯,
GoAddress不指向BOOTLOADER_ADDR,而且它未初始化。 尝试使用MainUserApplication()而不是GoAddress(); 祝你好运! 以上来自于谷歌翻译 以下为原文 Felix, GoAddress does not point to BOOTLOADER_ADDR,moreover, it is not initialized. Try MainUserApplication() instead of GoAddress(); Good luck! |
|
|
|
谢谢Yevpator,
那么现在微观似乎跳了但是我没有成功进入引导程序。引导程序没有答案,但我还在努力...... 当我最终设法使用引导程序时,我会给你一个更新。 费利克斯 以上来自于谷歌翻译 以下为原文 Thank you Yevpator, Well now the micro seems to jump but I did not succeed to enter the bootloader. No answer from bootloader but I'm still trying... I'll give you an update when I will finaly manage to use the bootloader. Felix |
|
|
|
嗨菲利克斯,
据我了解,您尝试激活内置STM8引导加载程序。最近我设法做到了。请注意,此系列中的不同MCU具有不同的Boot-loader入口地址。因此,请检查您使用的MCU的正确地址。 我也明白你想绕过ROP检查,不是吗?我的意思是你试图在测试ROP字节后跳转到通常Bootloader应该出现的地步。 但是还要检查Option字节中是否启用了Bootloader。默认值为disable:0000。要启用该功能,需要在相应的Option字节中写入55AA。如果你没有启用这些选项字节,那么只有当设备是处女时才会运行Bootloader,而这不是你的情况,因为你正在编写程序...... 祝你好运 ! 以上来自于谷歌翻译 以下为原文 Hi Felix, As I understand, you try to activate the build-in STM8 bootloader. Recently I managed to do that. Be aware that different MCU in this family have different entry addresses of the Boot-loader. So check what is the correct address for MCU you use. I also understand that you want to bypass the ROP checking, don't you ? I mean that you try to jump to the point where usually Bootloader should come after the ROP byte is tested. But check also if Bootloader is enabled in Option bytes. The default is disable : 0000. To enable that you need to write 55AA in the appropriate Option bytes. If you didn't enable these option bytes, the Bootloader would run only if the device is virgin, and this is not your case, since you're writing a program... Good luck ! |
|
|
|
菲利克斯。
你有没有设法解决这个问题?如果是的话,请您在此分享您的结果? 我问,因为我现在有同样的问题...... 谢谢。 谢谢Yevpator, 那么现在微观似乎跳了但是我没有成功进入引导程序。引导程序没有答案,但我还在努力...... 当我最终设法使用引导程序时,我会给你一个更新。 费利克斯 以上来自于谷歌翻译 以下为原文 Hi Felix. Did you manage to solve the problem ? If so, would you please share here your results ? I'm asking, since I have the same problem now... Thanks. Thank you Yevpator, Well now the micro seems to jump but I did not succeed to enter the bootloader. No answer from bootloader but I'm still trying... I'll give you an update when I will finaly manage to use the bootloader. Felix |
|
|
|
大家好,
我必须推迟这项工作,因为我有其他问题需要处理。一旦我回到bootloader,我将分享我的结果。 非常感谢 以上来自于谷歌翻译 以下为原文 Hi all, I have to postpone this work since I have others issues to deal with. As soon as I come back to bootloader I will share my results. Many thanks |
|
|
|
菲利克斯,
我设法做到了。 在跳转到Bootloader条目之前,您应该释放Bootloader所需的所有外围设备。由于没有提供Bootloader使用外设的列表,当我想启动Bootloader时,我在数据EEPROM中放置了一个标签(标志),然后期待POR。在POR之后,我检查此标志是否发出信号。如果是,那我跳。也就是说,如果在POR之后立即跳转到Bootloader,则不必关心释放外设。 请注意,您有1秒的时间来启动与Bootloader的通信,之后Bootloader会跳回应用程序。 希望您发现此信息有用。 祝你好运 ! 以上来自于谷歌翻译 以下为原文 Felix, I managed to do that. Before you jump to the Bootloader entry you should release all the peripheral essential for Bootloader. Since no list with the peripherals being used by Bootloader is provided, when I want to start Bootloader, I put a label(flag) in the Data EEPROM and then expect for POR. After POR, I check if this flag is signalling. If it is, then I jump. That is to say, if you jump to the Bootloader immediately after POR, you don't have to take care about releasing peripherals. Please pay attention that you have 1 sec for starting communication with bootloader, afterwards Bootloader jumps back to the application program. Hope you find this information helpful. Good luck ! |
|
|
|
嗨Yevpator,
现在它完美无缺。 你的最后评论对我非常有帮助,非常感谢! 费利克斯 Yevpator 2012年8月30日星期四上午11:45 ROP和引导程序 菲利克斯, 我设法做到了。 在跳转到Bootloader条目之前,您应该释放Bootloader所需的所有外围设备。由于没有提供Bootloader使用外设的列表,当我想启动Bootloader时,我在数据EEPROM中放置了一个标签(标志),然后期待POR。在POR之后,我检查此标志是否发出信号。如果是,那我跳。也就是说,如果在POR之后立即跳转到Bootloader,则不必关心释放外设。 请注意,您有1秒的时间来启动与Bootloader的通信,之后Bootloader会跳回应用程序。 希望您发现此信息有用。 祝你好运 ! 以上来自于谷歌翻译 以下为原文 Hi Yevpator, Now it works perfectly. Your last comment was very helpfull to me, many thanks! felix Yevpator Thursday, August 30, 2012 11:45 AM ROP and bootloader Felix, I managed to do that. Before you jump to the Bootloader entry you should release all the peripheral essential for Bootloader. Since no list with the peripherals being used by Bootloader is provided, when I want to start Bootloader, I put a label(flag) in the Data EEPROM and then expect for POR. After POR, I check if this flag is signalling. If it is, then I jump. That is to say, if you jump to the Bootloader immediately after POR, you don't have to take care about releasing peripherals. Please pay attention that you have 1 sec for starting communication with bootloader, afterwards Bootloader jumps back to the application program. Hope you find this information helpful. Good luck ! |
|
|
|
|
|
|
|
嗨,
你能分享你的代码吗?我尝试做但是当ROP很难进入时无法进入bootloader 非常感谢 以上来自于谷歌翻译 以下为原文 Hi, Can you share your code? I try to do but can not enter bootloader when ROP eneble Thanks very much |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2604 浏览 1 评论
3200 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1774 浏览 1 评论
3598 浏览 6 评论
5978 浏览 21 评论
928浏览 4评论
1305浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
573浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1292浏览 3评论
1347浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 16:21 , Processed in 1.117139 second(s), Total 63, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号