
keil
dujunqiu
汽车电子单片机,linux的嵌入式开发;会用一些python来进行开发辅助和自动化测试工作
展开
-
rt-thread卡在调度栈检查函数中 void rt_scheduler_stack_check(struct rt_thread *thread)
经过代码排查,发现有一个数组最大只有256byte, 赋值的时候给了300多个byte;将数组最大长度修改为 1024byte即可;查看函数调用栈, uart_thread_entry入口进来的,最后运行到 idle_thread 函数里面处;如下图所示,打断点的时候,卡在 while (dummy);处了,无法执行下一步;那么大概率是数组越界或指针偏移超过了最大长度;原创 2024-12-10 09:13:25 · 221 阅读 · 0 评论 -
keil打断点调试卡在 SystemInit函数中RCU_MODIFY处
RCU全称Read Copy Update 读复制更新,是一种完全不同于锁的并发控制机制;设备上电调试时候,直接卡在 startup_gd32f407.s 文件里面,没有跳转到main函数;跟踪之后发现卡在 RCU_MODIFY 位置处;跟踪查看 RCU_MODIFY定义,发现是获取时钟相关信息;另外 "#define HXTAL_VALUE" 也要同步设置为25000000, 不然外设晶振没有匹配上,会导致乱码;原创 2024-10-24 15:20:49 · 436 阅读 · 0 评论 -
keil调试程序进入“BEAB BKPT 0xAB“断点处
屏蔽新增加的代码,最后发现是复制过来的代码中有 printf() 函数打印日志,但是keil里面又没有实现 printf 函数,把这个注释掉就好了;没有实现printf 函数,为什么编译不报错 或者 运行到printf之后再报错呢?发现程序新增加代码的时候,程序会进入 “BEAB BKPT 0xAB” 断点处,无法进入main函数;网上也有其他博主说 “MicroLIB” 或 “int fputc” 的问题,也可以测试一下;找 chatgpt 咨询了一下,感觉也没有说的很准确。原创 2024-08-19 22:41:19 · 847 阅读 · 0 评论 -
warning: #1461-D: function declared with “noreturn“ does return
__declspec(noreturn)通知编译器该函数不返回。然后,编译器可以通过删除从未访问过的代码来执行优化。此属性具有 GNU 样式的等效项 __attribute__((noreturn))。 __declspec(noreturn) void overflow(void)如果函数达到显式或隐式返回, __declspec(noreturn) 被忽略,编译器将生成警告:原创 2024-03-08 21:44:22 · 754 阅读 · 0 评论 -
warning: #188-D: enumerated type mixed with another type
2:结构体初始化为 0 报warning,不能将结构体的第一个变量,使用枚举类型;此时keil再次编译,没有 warning。警告解释:枚举类型混合了其它的数据类型;1:检查代码,是不是存在混用;keil编译报 warning。将结构体变量先后顺序进行调整。原创 2024-03-08 21:43:03 · 2849 阅读 · 0 评论 -
配置keil生成asm汇编文件
简介:ASM是汇编语言源程序的扩展名;程序在编译的过程中,会将源代码编译会汇编代码,一步步生成可执行文件;这个语法应该是根据工程工程哪里的配置名称来的,也可以使用固定名称。3:打开asm文件查看一下,会发现里面都是对应的汇编代码。2:查看本地生成的代码,多了一个.asm文件。1:keil中options的配置。原创 2023-09-02 14:46:47 · 3704 阅读 · 1 评论 -
Error: Flash Download failed - “Cortex-M7“
Error: Flash Download failed - “Cortex-M7“原创 2023-03-25 16:10:37 · 3172 阅读 · 1 评论 -
‘“xxx.exe“‘ 不是内部或外部命令,也不是可运行的程序
执行 bat 脚本报错原创 2022-08-29 14:49:45 · 2208 阅读 · 0 评论 -
Identified core does not match configuration
keil 报错JLink Info: Identified core does not match configuration. (Found: Cortex-M7, Configured: Cortex-M3)排查发现最开始加载 j-link 时候出错这个时候只需要将 JLinkSettings.ini 替换为正确的就行;原创 2022-01-14 16:02:50 · 1157 阅读 · 0 评论