
调试记录
文章平均质量分 56
unsv29
嵌入式软件开发、物联网...
展开
-
Cm_Backtrace 移植
main_stack_start_addr = (uint32_t)&CSTACK_BLOCK_START(CMB_CSTACK_BLOCK_NAME); main_stack_size = (uint32_t)&CSTACK_BLOCK_END(CMB_CSTACK_BLOCK_NAME) - main_stack_start_addr; code_start_addr = (uint32_t)&CODE_SECTION_START(CMB_CODE_SE...原创 2020-06-23 09:17:50 · 771 阅读 · 0 评论 -
搞驱动是最耗费精力时间,弄之前一定要注意方式方法!
搞EMMC驱动,最后还不稳。凑合用!原创 2020-02-29 23:35:23 · 253 阅读 · 0 评论 -
STM32F407的扩展外部内存初始值
2018.11.13把pvmalloc里面的内存用外部内存。函数内部我弄了个标志变量,结果发现初始值不为0.后来发现过在main之后进行初始化外部内存配置,则初始值不为0,如果在main之前配置就是在STM32F4XX_SYSTEM.C里面配置初始值就是0了。事实上我在本博客的前几天写过一篇文章,介绍关于初始值为0这个事情。不过那个是内部的内存,这次呢,是外部的内存。https:/...原创 2018-11-13 14:34:18 · 1566 阅读 · 0 评论 -
fatfs-SDIO的写文件时间耗费在哪里了(之三)?
在《fatfs-SDIO的写文件时间耗费在哪里了(之一)?》我们用了如下的做法来测试f_write()的执行时间: f_open();while(1) { f_write(); }在《fatfs-SDIO的写文件时间耗费在哪里了(之二)?》我们用了如下做法来测试f_open 和f_write和f_close这三个函数加在一起的的执行时间:while(1){ ...原创 2018-10-26 14:50:19 · 1843 阅读 · 0 评论 -
关于代码速度优化,MDK中 static 与优化级别与典型for循环之间的关系
关于代码速度优化,MDK中 static 与优化级别与典型for循环之间的关系原创 2017-11-20 09:48:50 · 1068 阅读 · 4 评论 -
查找法的疑惑
查找法碰到的问题.原创 2017-11-17 11:30:15 · 326 阅读 · 0 评论 -
Snd CAN frame
baud 125KBPS--------------------------------------------------------------------------------------------------can-REport as board1, send 0x80 with period 1000ms.if receive 0x80 , then in can rec i原创 2016-09-08 14:00:02 · 720 阅读 · 0 评论 -
浅谈CAN在高负载下的调度
真的没有想到CAN在高负载率下调度是如此的重要。CANopen有个同步帧,各个从设备收到同步帧后,回复CAN帧。是马上回复,这个协议里是没有写明的,只要在规定的时间窗口回复就可以。调度主要就是要做到发送和接收帧不要在相对集中的一个时间段里。负载率指的是某段时间内的负载率。有时候平均负载率可能很低,但是高的瞬间负载率对总线冲击依然很大。所以说发送要分散开,并且发送也要照顾到eve原创 2016-11-01 10:02:29 · 2254 阅读 · 0 评论 -
为什么要添加“调试”这个栏目
调试,我是不喜欢这个词的。调试往往意味着乱试。而好的程序往往是设计出来的,是严密的逻辑推理出来的。所以出色的程序员是提倡不去调试的,写好程序直接下载运行,这是有些文章提倡的套路,我也非常赞同。不提倡调试本意就是程序不是仅仅能运行的很好就可以的,如果没有严密的逻辑推理,只是靠调试,不能把所有的逻辑分支都走到。这样就导致,比如,在某些特定条件下问题的产生。可能一个月发生一次,可能二个月。。。。原创 2016-01-16 09:20:25 · 562 阅读 · 0 评论 -
CRC校验 CRC-16 CCITT X2.5 ADCCP SDLC/HDLC
今天被CRC坑了一天,还有昨天下午接近2个小时。和西门子的信号系统通信,信号系统的RS485总是很变态。搞得很复杂,这个西门子的还算好的。以前做过卡斯柯的,极其麻烦,各种握手。还有一个信号系统,也是CRC-CCITT的。所以基本上可以说信号系统可能全是CCITT的吧。本来关于校验没什么好弄的。可是西门子给的例子我怎么算也算不出来那个CRC值。西门子描述如下:Name: “CRC-1原创 2016-01-14 15:55:29 · 2243 阅读 · 3 评论 -
STM32的can2和CAN1竟然有关联?!!!
调试STM32F107的CAN2竟然无法接收。通过与另一个代码对比,终于发现想用CAN2,则必须把CAN1的RCC也配置上,就可以接收了。上网查了下,21IC给解释http://bbs.21ic.com/icview-542674-1-1.html。手册也懒得看了,总之,CAN2和CAN1是有关联的。对于STM32F407可能也是如此。原创 2016-02-26 11:15:43 · 13640 阅读 · 2 评论 -
关于CM3内核堆栈8字节对齐
关于CM3内核堆栈8字节对齐原创 2017-12-01 14:39:15 · 3029 阅读 · 0 评论 -
JLINK-printf
https://www.cnblogs.com/Bean-SkyWalker/archive/2013/01/17/2865037.htmlhttp://www.keil.com/support/man/docs/jlink/jlink_trace_itm_viewer.htm原创 2018-01-02 15:06:39 · 451 阅读 · 0 评论 -
fatfs-SDIO的写文件时间耗费在哪里了(之二)?
在《fatfs-SDIO的写文件时间耗费在哪里了?》文章里面我们分析了f_write的执行时间,如下:f_open();while(1) { f_write();}本文将分析open write close这三个函数放在一起的执行时间:while(1){f_open();f_write();f_close();}执行时间为ti_1, ...原创 2018-10-26 13:00:01 · 1234 阅读 · 2 评论 -
f_mount()的第二个参数必须占用固定内存
FATFS fs FRESULT result; result = f_mount(FS_SD, &fs); /* Mount a logical drive */ 写了个函数换了个位置,竟然不好用了!最终发现换了位置后,fs没有被分配固定内存。 所以要fs前面加个static就好了! 这个问题搞了两天!终于在农历8月...原创 2018-09-24 17:36:16 · 3913 阅读 · 0 评论 -
FTP client的 quit demand怎么发不出来了?
FTP client的 quit demand怎么发不出来了?原创 2018-04-27 08:12:28 · 336 阅读 · 0 评论 -
TCP/IP程序经常挂掉咋整?
写FTP个别情况下会挂掉,有时候无法显现list文件名,有时候甚至ping不通。(一般在传输文件中途断开客户端导致服务器TCP错误,进入TCP错误的那个回调函数)。一般来讲,最好的作法是弄清缘由,看看错误的真正原因是啥。但是博主水平太有限了。目前看比较靠谱的作法是重启TCP/IP相关部分。(1)事实上DP83848有个中断函数就是检测link是否断开的。如果断开可以进行相应的处理。(2)另外一旦发...原创 2018-03-02 22:17:51 · 505 阅读 · 0 评论 -
我在串口的偶校验竟然栽了跟头
需要实现RS485的偶校验,在C8051F单片机上。我知道SSCOM串口助手的奇偶校验不好用(网上以前听说的),所以我就先用SSCOMM的无校验与目标板卡的无校验进行调试。结果搞定了。然后找了STM32板卡设置了发送的偶校验38400, USART_WordLength_8b, USART_StopBits_1, USART_Parity_Even.于是就在C8051F板卡上各种实原创 2016-01-16 09:51:43 · 3980 阅读 · 0 评论