嵌入式开发
文章平均质量分 77
嵌入式基础知识
张三李四结婚了
这个作者很懒,什么都没留下…
展开
-
浅谈操作系统调度器在单核和多核下任务的运行状态区别
对于实时操作系统调度器(这里说的是全系统只有一个调度器),在单核CPU下,操作系统保证的是最高优先级的就绪任务处于运行态;而对于多核CPU呢,多核下存在很多任务,但是调度器是只有一个 ,对于调度器来说,保证的是最高优先级的就绪任务属于运行态,但是对于其他核的正在运行的任务(也可能是很低优先级),其并未打断其运行,即多核状态下保证的是:最高优先级的就绪任务在所在核处于运行态,其他核的任务仍正常运行,这样也保证的真正的并行,而不是因为一个调度器就导致假并行了。原创 2023-03-06 10:17:05 · 442 阅读 · 0 评论 -
关于通过队列解决共享资源互斥或同步问题说明
通过队列实现无锁处理共享资源互斥同步问题原创 2023-02-20 17:11:31 · 247 阅读 · 0 评论 -
crc原理及c代码实现
一、概述关于crc的原理网上由很多了,讲的都比较详细。具体crc原理可参见https://www.cnblogs.com/esestt/archive/2007/08/09/848856.html。看来看去,关于代码实现部分网上都是互相拷贝,没有一个完整的crc实现,因此想着把所有crc8/16/32基于查表法的实现在该博客写下来,想着说一句crc你如果只是使用,只看我的代码就够了。万一发现有bug,上一句话当我没说…1.CRC与哪些配置有关关于crc,有5个配置项决定了crc的计算方式,他们分别是原创 2021-07-14 23:12:29 · 2344 阅读 · 0 评论 -
Cache-简介(第一篇)
概述一、Cache是什么1.1 时间局部性和空间局部性1.2 统一的I/Dcache和独立I/Dcache1.3 写通(write-through)cache 和写回(write-back)cache1.4 cache与内存的一致性问题CPU的运行速度是远远高于速度的,以当前嵌入式普遍使用的mcu来说,主频也普遍在几百Mhz,但是要知道使用的主存储器使用的动态存储器(DRAM)其速度在10Mhz左右。这样,如果指令和数据都存储在主存储器中,内存的速度会严重制约整个系统的性能。因此,为了解决内存速度低下,C原创 2020-12-24 18:43:16 · 3704 阅读 · 1 评论 -
Cache-应用(第二篇)
序:在调试某芯片内部flash时,发现当执行program或者erase后,发现程序实际正确得到了执行,但是读取时仍然获取到的是操作之前的数据。经调试发现是因为开启了cache的原因。下面就该问题进行分析。1.原因分析简单叙述该MCU内部与flash之间的内部框图如下:CPU对flash的读操作直接使用AHB总线通过flash controller实现对flash数据的读写,而cpu发送对flash的cmd指令比如program或者erase操作是借助APB总线实现,而cache是无法感知到对flas原创 2020-12-24 18:43:55 · 2527 阅读 · 1 评论