- 博客(17)
- 收藏
- 关注
原创 Cortex-M7使用KeilMDK调试时报错Invalid ROM Table
猜测是等待的过程中调试器没法连接CPU,而且删了点东西,CPU几乎没什么东西要跑,几乎一直处于不可连接状态。捣鼓了好几天,又是翻勘误手册又是增删代码排除的,最后发现把RTOS禁用掉就好了,但是RTOS的代码没改过,怎么删了点东西就出问题了呢?网上查了一下,都是说时钟配置错误之类的,经过排查,实际上我的程序并没有这些问题,并且出现问题的程序是通过没有问题的程序裁剪得到的。这种情况下可以用按住复位,点MDK的下载/调试按钮后立即放开复位的方式进行下载\调试,但调试的过程中仍会出现断联情况。
2024-09-03 20:23:31 278
原创 C++ 可调用体作为模板类的模板构造函数的参数遇到的一些问题
可以发现、编译器将模板形参`T_Invoke`识别为了H::Thread (即Thread_std)。但是代码里要创建的对象就是Thread_std、根本没有为模板类型列表提供Thread_std这个类型,这里正确的行为应该是T_Invoke=lambda [](std::string &s)->void(或者与lambda相关的类型、反正不应该是Thread_std)
2024-02-16 16:12:19 422 1
原创 MCU引脚功能分配图形化工具--PinAssignment
市面上有很多MCU是没有图形化配置工具的,最近可能用到一些这种MCU,对于大封装的MCU来说只根据数据手册来画板子是一件不妙的事情。于是我自己写了一个引脚分配的工具,该工具功能非常简单,只能对MCU的引脚进行复用功能选择,和保存功能(分配了一半不能保存哪还得了)其中Output文件夹有打包好的程序。
2023-03-14 20:47:10 827
原创 NES模拟器[H_NES]
最近捣鼓出来个NES模拟器,完全由C编写。可在STM32H750VBT上运行,搭配双QuadFlash可以运行更大的游戏。高速的SPI(80MHz)使得渲染帧率达到全速的60FPS,并且通过SAI输出IIS格式的音频信号
2022-03-08 23:38:10 7562 28
原创 GD32VF103(riscv)与STM32F103性能对比
GD32VF103与STM32F103性能对比GD32VF103与STM32F103性能对比对比方式测试结果STM32F103GD32VF103顺便附上STM32F411的测试结果结论归算到同主频--GD32VF103与STM32F103性能对比最近入手一个Sipeed的LonganNano,上面的芯片是GD32VF103CBT6,riscv架构的内核,主频达到108MHz。等等,F103 ??很难不让人想到STM32F103,宣传说GD32VF103的内核比Cortex-M3性能好,但到底好多少呢?
2022-01-14 23:13:01 3215 1
原创 FreeRTOS调度性能测试(线程切换耗时测试)
FreeRTOS调度性能测试(线程切换耗时测试),通过一些方法让调度器一直在两个线程之间切换,记录切换次数,每一段时间统计切换的次数从而计算出每次调度耗时。
2021-12-20 23:36:33 3846 5
原创 Cortex-M7 对于 指令乱序执行特性, Cache, 以及写代码时如何应对这些特性
Cortex-M7相对于之前的M4,M3有很大区别,尤其是指令流执行方面。M7拥有6级超标量流水线,对于它到底有多少级,我们不需要太关心。我们需要真正注意的是它具有指令乱序执行的特性,这个玩意不处理好的话会导致一些奇奇怪怪的问题。除此之外,M7还具有L1 Cache,这个会引入数据一致性问题,也是个麻烦的东西。...
2021-12-11 23:08:56 4476 8
原创 单片机操作系统(RTOS) H_TS
H_TS源码特性部件特性其他内容源码Gitee:https://gitee.com/H0x9DEFA478/H_TS.git.目前已更新了一个文档,两个例子。F4和F1的例程包含了通过信号量,FIFO包装的串口流,通过串口助手可以发送“ GetThreadInfo”或“ GetStackInfo”来获取信息。(这两个指令的开头是一个空格)。特性部件特性更多部件特性见gitee中的文档。其他内容其他内容(例如移植事项等)参见gitee中的文档。...
2021-12-07 23:51:15 3249
原创 STM32H750 HAL库以太网收发问题
最近在调试STM32H750+LAN8720,搞了大半天终于移植好LwIP了,ping也能ping通,TCP测试也成功。本来以为ST的HAL库终于省心了,结果我将编译优化开到最大...
2021-11-28 23:57:30 5561
原创 FreeRTOS响应中断延迟问题
FreeRTOS响应中断延迟问题问题详情解决方法问题详情问题的起因在https://blog.csdn.net/qq_42907191/article/details/120734795.中断操作信号量/消息队列时,应该被唤醒的线程却被延迟唤醒了。解决方法在中断操作信号量/消息队列后,调用portYIELD_FROM_ISR()是否切换线程由IsScheduler决定int H_TS_SemaphoreGive_ISR(void* Sem){ BaseType_t IsScheduler;
2021-11-20 18:00:56 1325
原创 IC卡探索记录- MFRC522+STM32F103C8 操作IC卡(M1卡) ---附代码
使用STM32F103C8通过SPI协议操作MFRC522,完成IC卡初始化加密、读、写、增加值、减少值,(针对本项目加密的)解密恢复白卡。附代码
2021-10-13 22:32:32 9958 5
原创 使用定时器计数,向FreeRTOS添加CPU使用率功能
向FreeRTOS添加CPU使用率功能,这个方法需要一个寄存器,储存了一个同步更新的时间,例如在STM32中,可以使用TIMx->CNT来充当这个寄存器,线程调度时,这个寄存器被读取,利用时间计算占用率。这个方法不需要定时器中断。
2021-10-13 15:00:24 748
原创 STM32F407 CubeMX配置CAN,实现简单的发送接收
STM32F407 CubeMX配置CAN 实现简单的发送接收CubeMX时钟配置引脚配置MX CAN配置代码在MX_CAN1_Init()中添加过滤器配置代码在main.c中添加发送接收代码测试调试问题CubeMX时钟配置时钟配置没什么特别的 外部晶振频率为25MHz引脚配置PE0连接到TJA1050的8脚上,使用时固定输出低电平即可。MX CAN配置修改了时序参数和使能了自动总线管理,其他的都为默认设置代码配置完成后,生成代码。生成的代码没有进行过滤器配置,需要自己
2021-09-16 16:37:10 7274 3
原创 用stm32实现winusb组合设备时遇到的一些坑
虽然网上有很多CMSIS_DAP的例程,但这些例程都是用的都不是ST的usb库,但我想使用ST的usb库来实现winusb,顺带加入一个虚拟串口。
2021-08-11 17:16:10 2990 9
原创 线程调度器H_TS(可以说是一个RTOS了)
H_TS是一个线程调度器,可以使用在STM32等类似的单片机上。这个任务调度器实现了线程休眠(ThreadSleep),互斥锁,信号量,消息队列。线程可以灵活的创建与删除,可以先新建一个线程句柄(预先分配堆栈空间),然后可以在一个合适的时机运行线程(快速启动),对于分配内存缓慢的情况这个特性很有效。
2021-07-30 13:47:33 522
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人