完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
亲爱的MCC团队,MCC版本:v3.26.2MPLAB X版本:v4.01(与MPLAB XPress相同)OS:Windows 7.:GUI(或生成代码)设备:PIC18F25K42外设:带有UART1的引导加载程序。可以选择任何UART。生成的代码未完成,请将其修复在下一个版本中,沃纳
|
|
相关推荐
19个回答
|
|
|
你没有使用最新的MCC 3.36,在那里他们修复了这个bug。不幸的是当你点击生成3.36表示没有找到兼容的定时器。所以仍然不工作
|
|
|
|
|
|
对不起,我没有提到MCC的不同版本。MPLAX与V3.36结合,MPLAB XPress为V3.22.2。由于这两种情况,我用UART都出错了,所以我想知道为什么你们不犯这个错误。这个警告没有兼容的计时器,我也有,但是我忽略了它。现在我尝试使用25K40生成的代码来适应它。沃纳
|
|
|
|
|
|
我还想做K40的事情。我发现了一堆代码问题需要解决,但我没有做进一步的准备。有一些关于修复代码错误和引导引导程序与K40一起工作的论坛线程。我想这与较大的闪存大小有关。在完成板布局并组装之前,我有几个月的时间,所以我希望引导加载器和gui在那时更新到K42。我正在布置一个只有PIC相关内容的小型原型板,以确保K42在我的应用程序中工作,并且没有任何bug还没有进入56k42的勘误表。如果我有时间,他们还没有更新引导加载程序,我可能需要重新创建自己的。
|
|
|
|
|
|
顺便说一下,我尝试了56K42选择的引导加载程序。也许和25K42有区别。
|
|
|
|
|
|
我重新访问了PIC18F56K42的Bootloader,并让它工作了。引导加载程序生成器还不能用于K42部分(对于我来说,它抱怨“没有找到兼容的定时器”,这是荒谬的,因为引导加载程序代码甚至不使用定时器!)我把零件改为PIC18F46K40,修复了所有的编译错误。然后,对config#pragmas、端口初始化代码进行了适当的更改,将所有的PIR和UART寄存器更改为K42寄存器名称,并去除了中断goto(对于IVT不可用,它本质上是可重定位的)。e XC8使用MOVFFL指令实现“NVMCON2=EE_Key_x”行,并在NVMCON1bits之前放置一个movlb.WR=1行。我做了很多其他更改,试图减小代码大小,包括适当地内联,删除MCC添加的所有多余内容,等等。它降低到1334字节,因此适合于1kWord引导块大小,但不适合于512Word引导块。我想PRO模式会缩小它的大小,但不管怎样,我不需要整个64K字节的程序闪存,所以2K字节的引导加载程序不成问题。
|
|
|
|
|
|
Pro模式可能会解决这个问题,但是应该有办法在不使用内联组装的情况下以Free模式实现它。
|
|
|
|
|
|
为什么使用变量来存储两个神奇的数字?
|
|
|
|
|
|
Microchip引导加载应用程序将魔法号传递给每个命令帧,在处理每个命令后,它们会被引导加载程序清除。我认为这是奇怪的和不必要的,但保持它。我想有人认为有一天会有一个PIC使用不同的数字。围棋形象
|
|
|
|
|
|
动态键(“神奇数字”)消除了恶意代码破坏内存的任何可能性。
|
|
|
|
|
|
非常感谢您的澄清。
|
|
|
|
|
|
我一直在努力为18F26K42获得一个工作引导程序。我累了用同样的方法,你用K40,然后修改K42。请您解释一下您正在使用的PC应用程序(和版本)如何将HEX文件发送到引导加载程序?我的Bootloader编译,但PC应用程序永远无法通过GET版本步骤。AM目前正在获得QT环境设置,所以我可以调试什么是错误的。你介意和别人分享任何能让你工作的代码吗?是否有一个版本的MCC即将到来,支持18F26K42很快?
|
|
|
|
|
|
我使用了来自HTTP://www. MyCHIP.COM/PROSP/8BIT-Bootloader的UNIFIEDHOST-0.1.8 Dist.Zip引导加载程序应用程序。这是一个JAR文件,所以如果你还没有Java,就必须安装它。MCC Bootloader生成器生成与它一起工作的代码,虽然如果您在编写PC代码时拥有比我更多的技能,您也可以自己编写代码。我必须在转换到K42中修复很多寄存器名问题,并最终改写StWrrTITE函数,因为上面提到的COMP。LIL不会生成正确的解锁程序集代码。我刚刚用Pott3作为调试器运行Bootloader,并且很快地解决了大多数问题。我做了很多重写MCC代码,试图把代码降到1KByk以下,但只将它降到了1186字节(XC8免费)。我确信我可以用更多的内嵌汇编来减少它,但是我的应用程序加上Bootloader不到16KB,所以似乎不必要。
|
|
|
|
|
|
我仍然停留在获取版本阶段。与您发送/接收的内容相比,您认为通信有什么问题吗?克拉克
|
|
|
|
|
|
传输的字节看起来很好。我没有任何问题,从来没有看过数据流。
|
|
|
|
|
|
我编辑了MCC中的原始引导加载程序代码,以至于我不确定我是否已经修复了一些东西,所以我从头开始创建另一个。从PIC18F46K40开始,我遵循Bootloader生成器用户指南,并用Bootloader创建了一个新项目。我使用偏移量0x800、UART1和校验复位向量方法,然后点击“生成”,然后关闭MCC,将设备更改为pic18f56k42并编译。我修正了编译错误,并做了一些其他的变化。在Uni.Bootloader app(0.1.8)中,我设置了offset=0x800、eeprom=0x310000、progs.=0x8000、eepromsize=0x400、所选程序eedata、115200波特,并且它工作正常。
|
|
|
|
|
|
我发现检查版本的问题是STX被定义为0x0F。我把它改为0x55,检查版本工作了。然后,我可以通过一个成功的写作一路,但校验和没有返回一个成功的代码。查看代码,我不知道它在哪里提供命令成功代码,就像文档指出的那样。见下文。//****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************lt;unuse>...]//OUT:[9字节头+检查umL + ChecksumH]// Cmd Length----- Address--------------- Data ---------// In: [<0x08> <0x00><0x00><0x00><0x00> <0x00><0x00><0x00><0x00>]// OUT: [<0x08> <0x00><0x00><0x00><0x00> <0x00><0x00><0x00>&0x00>;<;CheckSumL>;< CheckSumL>;< CheckSumH>]///************************************************************************************************************************************************************************************************************************************************************************************************************************=0;i
|
|
|
|
|
|
我想你是想让你自己的Bootloader应用程序工作吗?我没有问题的微型芯片提供了一个。你有没有试过,以确保你的PIC代码是功能性的?命令成功/失败字节仅包含在RealEffflash、EraseSflash和Read EngIfg函数中。显然,用户指南有一些问题-主要是在图中。
|
|
|
|
|
|
我添加了每个文档的命令成功和校验和,但是仍然没有成功。卡在:17:13:27.424>引导加载器版本读取成功17:13:27.424>擦除设备...17:13:27.773>擦除成功17:13:27.773>编程闪存...17:13:27.870>闪存程序17:13:27.870>Ret;接受校验和……我根本不知道调试什么让PC机应用程序不愉快,并且不移动到下一个块来编程。它确实编写了第一个块,但是没有校验和阶段的工作就不会继续。
|
|
|
|
|
|
在调试jar时,我看到以下每个调试输出的校验和不匹配:理论校验和:78FB4B4CReceieved校验和:5501所以16位校验和不匹配jar程序使用的32位校验和。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 06:35 , Processed in 1.388766 second(s), Total 110, Slave 93 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
830