- 博客(14)
- 收藏
- 关注
原创 STM32 FLASH->SR->PGSERR异常置位
近期调试过程中,发现有FLASH->SR-PGSERR异常置位的现象。发现在IWDG未使能的情况下,调用HAL_IWDG_Refresh会导致该现象,具体原因尚未深究,先记录一下。
2024-07-25 09:27:01
573
原创 elf has a LOAD segment with RWX permissions
elf has a LOAD segment with RWX permissions 的warning。使用STM32CUBEIDE,之前的项目编译正常,无warning/error,但升级到1.15.0之后出现。在.ld文件中的下列位置添加 (READONLY)
2024-03-23 23:25:29
2581
4
原创 STM32 FreeRTOS 在线升级跳转时需关闭SysTick
先disable systick后再跳转;另外如果在线debug的时候,最好也在main开头disable systick,否则在手动reset后(reset后不会disable systick)有可能会进入HardFault_Handler,主要是因为os 还未初始化,调用xTaskIncrementTick会导致越界,从而报fault。
2023-09-13 09:34:04
610
2
原创 STM32 IAP JUMP不能放在中断里
Jump不涉及到reset, 所有形式的reset则不需要考虑上述情况。ISR必须返回,才可能再次进入中断,所以Jump必须放在ISR外部。
2023-08-14 11:11:46
184
原创 STM32 SPI TX FIFO处理
有没有遇到这种情况,在MCU 的SPI作为slave时,为了提高传输效率,提升速率,一般会提前将数据写入TX FIFO中,一般情况下不会出问题,但有些SPI Host 的波形不规范,例如下面:在传输数据时会多发几个CLK,这会导致TX FIFO的数据传至移位寄存器中,会让MCU 的SPI 误以为数据已经发送;这里几点需要注意:1. STM32 的SPI Slave 在NSS 为unselected时,并不会处理TX FIFO的数据(清除);2. STM32 的TX FIFO 没找到对应的
2022-04-15 15:23:17
6225
3
原创 STM32 IAP遇到的问题总结
总结遇到的问题,会不定时更新;1. APP 1跳转到APP 2工作不正常,I2C 等无法响应 分析:a. 设置成APP 1跳转到APP 1,这样就可以利用仿真器进行在线仿真,追溯问题点; b. 定位到MX_ADC1_Init()中ADC已经再跳转前被使能;会导致初始化ADC失败,进入到error_handler(),导致程序进入锁死;/** * @brief This function is executed in case of error occurren...
2021-12-10 10:07:54
951
原创 ST LINK V2 启动遇到0xc000007b错误无法启动的解决办法
http://www.pc6.com/softview/SoftView_104246.html
2021-10-25 20:58:15
789
原创 ST-LINK Utility + ST LINK+ STM32G474 erase chip fails
今天遇到个诡异的问题,用ST-LINK Utility修改STM32G4XX的option byte 和下载程序时,突然发现MCU flash里的内容全为0..并且用full chip erase 功能的时候报错:17:04:55 : The elf loader Mass Erase function fails.17:04:55 : Error occured during flash mass erase!尝试过修改SWD的速率从4M->1.8M,没效果;分析感觉像是flas.
2021-10-25 17:22:42
3457
原创 PyQt5 图标设置
记录一下:fromPyQt5.QtGuiimportQIcon在main 添加w=MainWindow()w.setWindowIcon(QIcon('{0}\logo.ico'.format(sys.path[0])))这种是采用绝对地址的方式调取logo图片。...
2020-03-12 15:55:52
361
原创 pyinstaller 打包python qyqt5 成exe
最近打包一个项目,记录一下打包过程:1. 首先安装pyinstaller pip install pyinstaller2. win+r 运行cmd,cd 进入到项目得目录3. 执行 pyinstaller -D xx.py--noconsole , 其中--noconsole命令是让exe运行时不显示类似dos的界面; 生成的exe文件在dist目录下...
2020-03-03 16:30:48
321
原创 C8051 LaserBee Software Reset
如果只是单纯的软件复位,需先将R0寄存器清0:#definemcu_ResetToRunApp(x)do{\SFRPAGE=0x00;\*((uint8_tSI_SEG_DATA*)0x00)=0;\RSTSRC=RSTSRC_SWRSF__SET|RSTSRC_PORSF__SET;}while(0)...
2019-10-31 16:22:30
339
原创 局部变量,慎用volatile (C8051,KEIL)
近期一个项目中发现一个问题,偶发性出现,不太好定位:现象描述: 当WDT开启时,偶发性出现看门狗复位。在HOST对Module进行I2C 操作时,相对容易触发。定位问题: 在while 循环中,针对每个函数执行前和执行后加IO口的操作,用逻辑分析仪是在执行哪个函数时出现的问题。 经过逐步缩小问题范围,在I2C Slave接收到HOST发的写密码的操作,并且同时正...
2019-07-24 15:55:11
1269
转载 C8051 Register Banks R0-R7
Register Bankshttp://www.keil.com/support/man/docs/c51/c51_le_regbankspec.htm主要讲的register banks 切换,实际使用过程中不建议使用using x。KEIL编译器在编译函数的局部变量时,可能不是直接调用R0-7,很有可能直接寻址,如下图; 如果中断ISR 使用了using 1描述符,并调用了该函数...
2019-07-23 08:07:21
1229
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人