- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 S32K148 flash驱动优化
合理设置flash参数:S32K148 flash有多个参数可以设置,例如扇区大小、擦除时间等,合理设置这些参数可以提高flash读写效率和稳定性。使用扇区擦除:由于S32K148 flash是按扇区进行擦除的,如果需要擦除大量数据,建议使用扇区擦除而不是逐字节擦除,这样可以提高擦除效率。减少写操作:由于S32K148 flash的写入速度较慢,建议尽量减少写操作,例如使用缓存来缓存数据,然后一次性写入,而不是每次写入一个字节。
2023-04-02 19:05:41
785
原创 简易S32K148 bootloader
编写S32K148的bootloader,需要了解S32K148的内部结构和功能,并且需要使用S32K148的开发工具和相关资料。bootloader程序需要占用一定的flash空间,需要保证bootloader程序不会覆盖应用程序的代码和数据。bootloader程序需要能够检查应用程序是否需要更新,如果需要更新,则需要执行应用程序更新操作。bootloader程序需要能够跳转至应用程序的入口点,以启动应用程序的执行。bootloader程序需要具有稳定性和可靠性,以确保系统的安全性和可靠性。
2023-04-02 19:05:05
635
原创 s32k148链接文件
链接文件将程序代码放置在Flash中,将已初始化数据放置在SRAM_U中,将未初始化数据放置在SRAM_U中,并定义了堆和栈的起始地址和大小。S32K148链接文件中包含了目标文件的地址分配、内存映射、符号定义等信息,是编译器生成可执行文件的关键。在编写链接文件时,需要考虑内存布局、符号定义和脚本语句等方面的问题,并进行精确的调试和优化。需要注意的是,上述链接文件只是一个简单的示例,实际应用中需要根据具体的应用场景和硬件平台进行调整和优化,并进行精确的调试和测试。
2023-03-30 22:37:35
649
1
原创 Linux 工作常用命令记录
一、实时打印log中文件1、命令tail -f var/log/messages2、还可以使用 watch -d -n 1 cat /var/log/messages-d表示高亮不同的地方,-n表示多少秒刷新一次。该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,这一特性,对于查看日志是非常有效的二、显示进程间关系1、pstree -apnh //显示进程间的关系-A: 各进程树之间的连接以ASCII码字符来连接-U:各进程树之间的连接以utf8字符来连接,某些终
2021-07-17 18:25:42
158
原创 NXP S32DS startup.s踩坑
一、编译链接没有把想要的IRQHandler给编进去,造成触发中断就跑挂。1.1、问题描述:开发中将nxp提供的sdk封装成hal层库,以.a的形实提供给主工程来生成可执行程序。sdk中已定义可实现相关中断的处理函数,在没有封装成库的时候,编译链接运行是正常的,相关函数可在生成的map表里查到相应地址,单独封装成库,在主工程里引用库并编译成可执行程序的时候,奇怪的事情发生了,程序正常可编成功,在map里找不到相应的中断处理函数地址,说明函数没有编到执行文件中,debug走到insta...
2021-07-10 10:00:48
1609
原创 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
1799
2
原创 MQTT 踩坑
一、生成自签证书1、首先,我们需要一个用于自签名CA根证书的**key,以下命令会生成**长度为2048的RSA私钥并将其保存在文件“ rootca.key”中:openssl genrsa -out rootca.key 20482、生成根证书:openssl req -x509 -new -nodes -key rootca.key -sha256 -days 3650 -out rootca.pem3、为颁发服务器证书生成一个私钥:openssl genrsa -out
2021-06-24 15:12:23
780
原创 repo 踩坑记录
repo 踩坑记录windows 安装repo前置条件下载最新的repo工具合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入windows 安装repo前置条件1、git for windows 安装好。2、python3安装好,并配
2021-03-17 14:13:23
655
原创 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
1279
原创 嵌入式c语言指针指向常量
UINT8 *p1 = "hello";UINT8 *p2 ="hello";如上代码中p1与p2是否指向同一地址?运行调试:可以看出p1和p2是指向同一地址的,原因是字符串为常量,c语言编译器会对一样的常量进行操作,内存中只保留一份copy。ps:c语言中常量是放在.rodata中,.rodata是在.text代码段中。...
2020-05-18 13:29:34
212
原创 memset memcpy不同字节占用时间
S32K148:通过在memset前后加上输出IO口高低电平,用示波器测得。时间单位为us。bytesmemsetmemcpy3292.464143.4128262525640565127511010241502202048300440
2020-05-18 11:34:26
695
python实现串口工具源码
2023-02-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅