![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MCU
瓶0盖
这个作者很懒,什么都没留下…
展开
-
简易S32K148 bootloader
编写S32K148的bootloader,需要了解S32K148的内部结构和功能,并且需要使用S32K148的开发工具和相关资料。bootloader程序需要占用一定的flash空间,需要保证bootloader程序不会覆盖应用程序的代码和数据。bootloader程序需要能够检查应用程序是否需要更新,如果需要更新,则需要执行应用程序更新操作。bootloader程序需要能够跳转至应用程序的入口点,以启动应用程序的执行。bootloader程序需要具有稳定性和可靠性,以确保系统的安全性和可靠性。原创 2023-04-02 19:05:05 · 392 阅读 · 0 评论 -
S32K148 flash驱动优化
合理设置flash参数:S32K148 flash有多个参数可以设置,例如扇区大小、擦除时间等,合理设置这些参数可以提高flash读写效率和稳定性。使用扇区擦除:由于S32K148 flash是按扇区进行擦除的,如果需要擦除大量数据,建议使用扇区擦除而不是逐字节擦除,这样可以提高擦除效率。减少写操作:由于S32K148 flash的写入速度较慢,建议尽量减少写操作,例如使用缓存来缓存数据,然后一次性写入,而不是每次写入一个字节。原创 2023-04-02 19:05:41 · 463 阅读 · 0 评论 -
s32k148链接文件
链接文件将程序代码放置在Flash中,将已初始化数据放置在SRAM_U中,将未初始化数据放置在SRAM_U中,并定义了堆和栈的起始地址和大小。S32K148链接文件中包含了目标文件的地址分配、内存映射、符号定义等信息,是编译器生成可执行文件的关键。在编写链接文件时,需要考虑内存布局、符号定义和脚本语句等方面的问题,并进行精确的调试和优化。需要注意的是,上述链接文件只是一个简单的示例,实际应用中需要根据具体的应用场景和硬件平台进行调整和优化,并进行精确的调试和测试。原创 2023-03-30 22:37:35 · 412 阅读 · 1 评论 -
NXP S32DS startup.s踩坑
一、编译链接没有把想要的IRQHandler给编进去,造成触发中断就跑挂。1.1、问题描述:开发中将nxp提供的sdk封装成hal层库,以.a的形实提供给主工程来生成可执行程序。sdk中已定义可实现相关中断的处理函数,在没有封装成库的时候,编译链接运行是正常的,相关函数可在生成的map表里查到相应地址,单独封装成库,在主工程里引用库并编译成可执行程序的时候,奇怪的事情发生了,程序正常可编成功,在map里找不到相应的中断处理函数地址,说明函数没有编到执行文件中,debug走到insta...原创 2021-07-10 10:00:48 · 1204 阅读 · 0 评论 -
Variable-Length Encoding (VLE) powerpc 汇编指令学习(MPC5748G)
通过学习分析startup里的指令来学习指令的含义1、关闭软件看门狗#r4 = 0xFC05 | 0x0000e_lis r4, 0xFC05 #r4 = 0xFc050000e_or2i r4, 0x0000 #r4 = r4 | 0x0000 #此时r4 = 0xFC050000#该软件看门狗有一个锁要先写0xc520 然后写D928解锁然后再配置关闭看门狗e_li r3, 0xC520 #r3 = 0xC520e_..原创 2021-07-05 15:26:12 · 1345 阅读 · 2 评论 -
mcu复位导致I2C异常
I2C总线电平:SCL为高,SDA一直为低。软件层一直返回BUS_BUSY。什么情况下发生?正常mcu上电后检测RTC,之后每秒读一次时间,在做实验的时候使mcu的电压刚好在临界区间,致使mcu在一直重启,偶发导致I2C异常。原因分析:mcu在进行I2C通信的时候,mcu复位导致I2C从设备进入死锁。从而导致复位mcu也不能恢复正常。解决方法:1、进行通信的时候检测电压值,快到临界值的时候禁止I2C通讯。2、复位从设备。3、在mcu上电的时候,SCL发送16个周期时钟脉冲,这样I2C从设备原创 2020-05-22 15:59:47 · 739 阅读 · 0 评论 -
嵌入式c语言指针指向常量
UINT8 *p1 = "hello";UINT8 *p2 ="hello";如上代码中p1与p2是否指向同一地址?运行调试:可以看出p1和p2是指向同一地址的,原因是字符串为常量,c语言编译器会对一样的常量进行操作,内存中只保留一份copy。ps:c语言中常量是放在.rodata中,.rodata是在.text代码段中。...原创 2020-05-18 13:29:34 · 148 阅读 · 0 评论 -
memset memcpy不同字节占用时间
S32K148:通过在memset前后加上输出IO口高低电平,用示波器测得。时间单位为us。bytesmemsetmemcpy3292.464143.4128262525640565127511010241502202048300440原创 2020-05-18 11:34:26 · 560 阅读 · 0 评论