完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我知道Bootloader选项可以使用2线UART、USB和I2C。现在我想把BLE数据加载到RAM中,然后使用Flash编程方法,或者我可以使用ICSP或增强ICSP?寻找最好的解决方案。谢谢。
以上来自于百度翻译 以下为原文 I know the bootloader options available 2-wire UART,USB and I2C. Right now I'm looking at loading BLE data into ram and using Flash Programming method or can I use ICSP or enhanced ICSP? Looking for the best solution. Thanks |
|
相关推荐
3个回答
|
|
与大多数设计决策一样,什么是最好的真正取决于很多因素,只有你能真正知道。通过ICSP或增强的ICSP,我假设你正在寻找设计一些电路,将连接到MCLR和PGEXN引脚并模仿PicKit(或任何)。这当然是可行的,并且允许在MCU中运行的任何代码外部编程,但确实需要硬件和您自己的固件(除非您克隆某些东西)。在MCU的RAM或外部EEPROM(这是我把它,所以我核实校验等之前,堵塞我的MCU的代码)?如果这是你正在想的,那么RTSP可能是一个更好的方法。但是你也提到了BooLoad,它通常使用某种类型的串口,然后直接使用RTSP在任何被馈送的东西上。再次,你可能需要一些外部的MCU来触发引导过程,然后通过串行线与苏珊通信。
以上来自于百度翻译 以下为原文 As with most design decisions, what is best really depends on a lot of factors that only you can really know. By ICSP or Enhanced ICSP I assume that you are looking to design some circuitry that will connect to the MCLR and the PGExn pins and emulate a PicKit (or whatever). That is certainly possible and does allow for programming external to any code you run in the MCU but does require hardware and your own firmware (unless you clone something). Where is the BLE data held? In the MCU's RAM or in an external EEPROM (which is where I'd put it so I verify checksums etc. before clobbering my MCU's code)? If this is more what you are thinking then RTSP is probably a better way to go. However you also mention bootloaders which typically use a serial port of some sort and then use RTSP directly on whatever they are fed. Again you probably will need something external to the MCU to trigger the bootstrap process and then communicate with it via the serial lines. Susan |
|
|
|
我可能会把数据存储在一个256K SPI总线串行EEPROM中。如果部分(DSPIC33 EP512GM710)具有双重分区特征,那么这将是非常容易的。如果我正在执行我的原始代码区域:1.我在哪里开始加载我的新代码?2。我可以用Goto指令来获取新代码吗?谢谢
以上来自于百度翻译 以下为原文 I probably will store the data in a 256K SPI™ Bus Serial EEPROM. If the part (dsPIC33EP512GM710)had a dual partition feature it would be very easy. If I'm executing out of my original code area: 1.Where do I start loading my new code? 2. Can I use a GOTO instruction to get to the new code? Thanks |
|
|
|
同样,这是你的设计的一部分。你可以把一段代码放在内存的最上面,而不是写。当您准备好将数据从EEPROM转移到闪存(在其中验证新代码由您决定)时,您可以直接到代码的那一部分。这样你就可以确保代码不会过度写。当你完成后,你可以做一个“重置”,然后启动新的代码。我不确定你的意思是“转到”新代码。在程序位置0总是有一个有效的“GOTO”,这就是复位是如何工作的。所有的陷阱和中断都有一个向量位置,在触发陷阱/中断时保持要执行的程序的地址。如果你没有提供这样的函数,那么地址被设置为“0”,这是“重置”向量。在这个程序的位置,如果你使用汇编程序,你应该写一个“Goto & lt;开始地址& gt;”指令,或者C编译器会为你这样做。这是您的代码总是在开机时、重置或不为触发的陷阱/中断写入函数时启动的方式。当然,如果您编写自己的引导加载程序并设置自己的规则(即,使用自定义链接器脚本将程序加载到内存的某个其他部分),那么遵守你自己的规则。苏珊
以上来自于百度翻译 以下为原文 Again, that is part of your design. You could set aside a section of code at (say) the very top of memory and not over-write that. You can just to that part of the code when you are ready to start transferring the data from the EEPROM to the FLASH memory (where you validate the new code is up to you). That way you can make sure the code does not over-write itself. When you are done, you can do a 'reset' which will then start the new code running. I'm not sure what you mean by a 'goto' to get to the new code. There is always an effective 'goto' at program location 0 which is how resets are make to work. All traps and interrupt that have a vector location hold an address of the routine to be executed when the trap/interrupt is triggered. If you have not supplied such a function, then the address is set to '0' which is the 'reset' vector. In this program location, you are supposed to have written an 'GOTO Of course, if you write your own bootloader and set up your own rules (i.e.load the program into some other part of memory using a customised linker script) then you need to follow your own rules. Susan |
|
|
|
只有小组成员才能发言,加入小组>>
5238 浏览 9 评论
2028 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3204 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
776浏览 1评论
665浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
594浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
675浏览 0评论
575浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 00:03 , Processed in 1.431678 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号