- 博客(3354)
- 资源 (4)
- 收藏
- 关注
原创 更多精选文章列表
为了让更多朋友看到我分享的内容,我经常在微信公众号「strongerHuang」分享一些优质的内容,主要包含:Keil、IAR、STM8、STM32、μC/OS、FreeRTOS、CANOpen、ModBus…等,在我的个人微信公众号「strongerHuang」底部菜单,或者回复【更多内容】即可查看。 因在这里分享文章,还需单独整理一遍,时间有限,有些文章则没有在我博客呈现,下面是部分...
2018-08-20 15:49:39
4056
1
原创 UCOS2_STM32移植过程、系统内核、事件描述(汇总)
推荐分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang我的网站:https://www.strongerhuang.com我的知乎:https://www.zhihu.com/people/strongerHuang.com移植过程:...
2016-07-01 18:11:33
20145
5
转载 为什么嵌入式需要状态机?
例如在"接收数据"状态下,收到有效字节执行"累加校验和",收到无效字节执行"报错计数"——同一状态,不同输入产生不同输出。简单来说,状态机就像是给系统设定了一套"剧本":系统在某个时刻只能处于一种状态,当特定事件发生时,它会按照预设规则切换到新的状态,并可能执行相应的动作。:状态转换时执行的操作。:输出仅依赖当前状态,与输入事件无关。按键输入处理:设计 "空闲→按下→确认→释放" 的状态流程,通过定时器消抖,只有稳定按下超过一定时间才判定为有效事件。例如"空闲"、"运行中"、"故障"、"等待响应"等。
2025-12-31 08:02:46
8
转载 开源嵌入式编译器,和传统编译器有什么区别?
喜欢Keil的,在实际体验中,ac6的Osize优化特别猛,性能稍微弱一丢丢,但是体积特别小,其它编译器都比不过,同样的程序比gcc能小四分之一。又或者,GCC编译的代码可能体积也会更大,这时候,内存从120MHz就需要变相升级到200MHz,这几块钱的差距,就会让产品成本大幅度增加。虽然Keil目前已经包括五种版本,其中不乏全免费的教育版,而且STM32之类的MCU使用Keil也是免费的,但如果做一些很深入的开发工作,Keil本身还是需要付费的。萝卜青菜各有所爱,不论如何测试,工程师总是有自己的偏好。
2025-12-30 11:31:15
14
转载 MCU/MPU边缘AI技术专栏!
AI几乎已经融入到我们生活方方面面了,随着人工智能技术不断迭代,使用远端算力平台进行模型部署和AI计算并在端侧决策成为可能,边缘AI技术凭借实时响应、低资源消耗、高安全性和私密性优势正引领嵌入式开发变革。我们非常鼓励各位开发者结合自身开发经验做出一些有创意的拓展,若经官方评审认定您的项目满足阶段二要求,我们将根据您的创意评选送出专属奖品(购物卡+定制茶具套装,不限名额);请认真填写您的申请理由,说明自己的评测计划,大致的实现过程和应用场景,展示丰富的过往项目经验。我们将根据申请者填写的评测计划进行筛选。
2025-12-29 17:30:00
19
转载 IAR从崛起到巅峰,再到“没落”,都经历了什么?
早些年,IAR相对Keil优势比较明显,但这些年Keil也在成长呢,用户群体逐渐转移了,再加上很多入门MCU的同学大多选择Keil,导致IAR用户群体越来越少。IAR跨版本的兼容性一直不是很好,前些年我深有体会,当时用新版本的IAR打开老版本的项目,各种不兼容,要么重新安装老版本IAR,要么重新创建工程。IAR的工具链非常强大,但调试的功能,相对Keil还是差一点。IAR的工具链也是非常强大,从综合水平来说,也是远超Keil的,但这几年IAR明显被Keil超越了,最后沦为“被Qt收购”的下场?
2025-12-29 08:01:23
17
原创 年底了,小心公司用这几种方式辞退你
注意:长时间【带薪拉屎。如果劳动合同中包含竞业禁止条款,员工在离职后未能遵守这些条款,从事竞争性活动,可能构成违约。这两年的行情,大家是有目共睹的,你看看你的身边,或者朋友圈有多少人直接或间接被裁员。这种是大公司裁员最常见的一种合法操作,一般是公司遇到财务困难,或者战略/业务调整,有时候,公司为了减少成本,会和员工商量,达成自愿离职协议,以此避免法律纠纷。员工参与或进行不当的行为,如上班玩手机、欺诈等,违反了劳动合同的行为规范。如果你不幸被裁,遇到N+1赔偿这种情况,在今年这个行情下,你是幸运的。
2025-12-28 11:30:59
323
转载 手撸操作系统,一定要看Linux 内核!
之所以称为内核,是因为它在操作系统中就像果实硬壳中的种子一样,并且控制着硬件的所有主要功能。在正确实施的情况下,内核对于用户是不可见的,它在自己的小世界(称为内核空间)中工作,并从中分配内存和跟踪所有内容的存储位置。sysfs 伪文件系统,输出内核识别出的各硬件设备的相关属性信息,也有内核对硬件特性的设定信息。使用该选项,会忽略指定的模块,并不提示任何错误信息。也处理所有用户空间发生的硬件添加、删除事件,以及某些特定设备所需的固件加载。用该选项可以删除正在被使用的模块,设计为不能删除的模块,或者标记为。
2025-12-27 08:02:30
12
转载 一文了解智能机器人的灵魂ROS
2011年,ROS领域的爆款机器人TurtleBot发布,这款机器人采用扫地机器人的底盘,配合Xbox游戏机中的体感传感器Kinect,可以直接使用笔记本电脑控制,同时,它支持ROS中经典的视觉和导航功能,关键是价格便宜。“减少重复造轮子”的核心理念促使ROS社区快速发展和繁荣,时至今日,ROS已经广泛用于各种机器人的开发,如图5所示,无论是在机械臂、移动机器人、水下机器人,还是在人形机器人、复合机器人应用中,都可以看到ROS的身影,ROS已经成为机器人领域的普遍标准。这是机器人大时代的前夜。
2025-12-25 19:30:00
32
转载 瑞芯微推出了“新接口”,叫FlexBus!
瑞芯微作为领先的人工智能物联网(AIoT)处理器芯片企业,从早期具备丰富的音视频接口,到现在强大的NPU算力、高速工业通信接口,不断推出各种与时俱进的先进CPU。ARM端运行Linux系统,可设置数据包大小、数据传输的循环次数等,可对读写的数据进行校验,并打印误码率和读写速率。可模拟标准或不规则的协议,通过配置和逻辑设计,实现模拟所需时序,从而适配不同外部设备,如AD、DA、FPGA等。2006-2010年,瑞芯微抓住了MP3/MP4的市场,推出了支持视频播放的26系列芯片,成为行业新贵。
2025-12-25 08:07:13
45
转载 C语言中的volatile到底有什么用?
实际上你可以把寄存器eax当做busy所在内存的cache,当cache(寄存器)和内存中的数据一致时不会有任何问题,但当cache与内存中的数据不一致时(也就是内存已被更新但cache保存的还是旧数据),程序的运行往往出乎预料。确保变量原子性访问一般都采用锁,当使用锁时,锁本身就包含了volatile提供能力,即,确保变量的可见性,因此当使用锁时没有必要使用volatile。一定要注意volatile仅仅确保变量的可见性,但和变量的原子访问没有半毛钱关系,这是两个完全不同的任务。
2025-12-24 20:03:51
34
转载 为什么用AI写不出你想要的嵌入式代码?
为什么用AI写不出你想要的嵌入式代码?为什么用AI写不出你想要的嵌入式代码?为什么用AI写不出你想要的嵌入式代码?
2025-12-24 08:02:03
22
转载 不靠 MCU,用 FPGA + DAC 实现可调信号源
在OLED模块部分,一开始没有什么思路,通过学习电子森林开源代码了解了SPI协议的书写,完善了动态输出过程中ASCII转换的问题,在后面的学习中发现可以通过左移加三算法进行快速计算,相比我自己写出来的部分要好很多,但由于时间较紧张就没有进行完善。通过制作的波表使DAC可以输出想要的波形,此模块中还含有波形幅度控制模块,可以配合旋钮进行波形幅度的控制。本次使用的是硬禾学堂提供的基于小脚丫FPGA的电赛训练平台。本次实验中使用的模块包括OLED显示模块,DDS模块,旋钮模块,分频器模块,锁相环模块。
2025-12-24 08:02:03
21
转载 分享一个通用嵌入式软件架构分层设计思想!
Target层通过Platform层提供的服务来访问硬件,因此当硬件平台改变时,只需要修改Platform层和Arch层,Target 层只依赖 Platform 的初始化与业务 API,后续如果换成 GD32 或更换板载外设,仅需改动 Platform 与 Arch,不影响业务代码。Platform平台抽象层位于Arch层之上,Target层之下。Arch-Platform-Target是个核心分层思想,实际项目中,可能还包含OSAL(系统抽象层)、Services(基础组件服务)等模块。
2025-12-23 11:31:12
72
转载 分享一个提高MCU计算能力的神器!
CW32L012本身所属的M0+内核阵营,在我看来是属于国产芯片中竞争最卷的内核系列,或许很多客户依旧认为,涉及复杂运算的芯片选型是不包含这个系列的,但今天多了一个更具性价比的选择,如果我刚刚大学毕业,我是不敢相信的。而CORDIC在M0+内核上的结合,使得可以实现高精度FOC控制的芯片有了更高性价比选择。但由于带有DSP模块的芯片往往内核等级较高,比如ARM的M4、M4F内核,因而价格也比较贵,导致在很多应用场景中,开发者往往还要为芯片上附带的但却不需要的功能进行买单,或者为过剩的性能买单。
2025-12-22 11:55:52
36
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
35
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
34
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
17
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
24
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
17
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
20
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
15
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
17
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
14
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
13
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
14
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
11
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
11
转载 嵌入式多线程从“能跑“到“稳定“的关键一步!
场景的最优解——它能让线程在条件不满足时休眠,条件满足时精准唤醒,既保证响应速度,又能最大化降低CPU占用。我们写的代码顺序,不一定是实际执行顺序。每个核心都有自己的L1/L2 Cache,对同一内存地址的修改,不会立即对其他核心可见。如果你的场景是"90%读、10%写",用互斥锁太浪费——读操作之间本不需要互斥。两个线程以相反的顺序获取两把锁,在特定时序下互相等待,形成死锁。POSIX线程库提供了几种同步机制,互斥锁、条件变量、读写锁。解锁互斥锁(pthread_mutex_unlock)。
2025-12-21 08:04:30
14
转载 实操,在单片机上移植CMSIS-NN神经网络库
默认情况下,执行python unittest_targets.py —download-and-generate-test-runners命令,会为每个测试用例生成一个main函数,每个测试用例单独编译为一个elf文件,之后使用ARM虚拟硬件(AVH)执行elf进行测试。支持ARM的Heilum技术的处理器,使用M核向量扩展(MVE,M-profile Vector Extension)进行优化,例如 Cortex-M55 或 Cortex-M85;
2025-12-20 08:01:58
49
转载 兆易创新推出有史以来最强GD32
GD32H78D/77D系列芯片全新集成MIPI DSI(2 lane)接口,原生支持从QCIF到XVGA的广泛分辨率,支持可编程的视频与命令双工作模式,使其具备直驱现代移动显示屏的能力,为高端人机交互界面提供原生高效的显示解决方案。在音频处理方面,GD32H78D/77D系列芯片展现出多面手能力,集成4路SAI与4路I²S接口,可灵活连接多路音频编解码器与麦克风阵列,并配备S/PDIF接口直接输出高保真数字音频,全面满足专业影音及通信设备的苛刻要求。微信公众号 | strongerHuang。
2025-12-19 08:03:48
65
转载 10分钟在MCU上快速部署LWIP
如果您必须使用纯lwIP,您可能需要手动集成lwIP源代码并使用rm_lwip_sys_freertos移植层,这通常涉及将lwipopts.h文件配置为使用操作系统(NO_SYS宏定义为0)并实现sys_arch.c中的系统级接口(信号量、邮箱/消息队列等)。默认LwIP的属性里面的参数是需要修改的,一般不能直接使用,在Common->Infrastructure->Heap and momory pools和Threading中需要修改的。一步一步移植,花费了十天半个月,最后还不一定能成功跑通。
2025-12-18 08:03:36
28
转载 拆解60寸小米电视,看下16年总价4699的设计都有谁代工?
先来看主板,小米电视 3S 60 英寸(Mi TV 3S 60")的电源板,由 MEGMEET(美的旗下子公司,专业代工电源板) 生产,型号为 AMP5560XM。全部看完,装回去,唯一遗憾是没有取下散热片查看主控芯片,因为不同以往捡到的垃圾拆完就扔,这个是可以使用的,所以主板没拆,没有打开散热。这个电视是可以开机的,但只有一个开机按键,没有操作键,他拿出自己不使用的小米手机,是可以操作电视的,说放他宿舍墙上,我跟他讲,不管了,先拆了再说。最近拿到了一个60寸小米的大电视,是16年生产的。
2025-12-17 19:30:00
85
转载 分享几个嵌入式软件开源项目,值得深度复刻!
这意味着同一套代码可以跑在STM32、ESP32、NXP上,换平台只需要实现底层的SPI读写函数。支持多种操作系统(RT-Thread、UCOS、Linux、Windows、Nuttx...),也支持裸机平台;学会了它,你就能写出真正"可移植"的代码。按键处理看似简单,但要支持单击、双击、长按、连击,同时做好消抖,代码很容易写成一团乱麻。支持用户自定义输出方式(例如:终端、文件、数据库、串口、485、Flash...);大学教材教的是语法,公司项目追求的是交付,这中间有一个巨大的鸿沟——
2025-12-16 19:51:01
97
转载 2025年12月-2026年4月,计算机领域涵盖的前言学术会议推荐!
人工智能,机器学习和深度学习算法,自然语言处理和对话式 AI,商业智能,数据挖掘和知识发现,用于业务优化的预测分析,实时数据处理和可视化,电子商务,社交媒体营销,基于AI 的推荐系统,安全且可扩展的支付技术学科方向均可投递。计算摄影与成像技术、医学与生物医学图像处理、多光谱与高光谱成像、图像复原、增强与超分辨率、面向视觉的嵌入式系统与边缘计算、图像应用的高性能计算、机器学习与深度学习算法、实时图像与视频处。1、2025年电力系统、智能电网和人工智能国际会议(PSGAI 2025)
2025-12-16 08:02:37
137
转载 芯片丝印被磨光,型号照样能查到?
很多卖芯片的商家,为了让买家能搜到他们的货,会在商品标题和描述里明确写上芯片的丝印代码。你直接搜“L6G”可能搜不到,但如果你搜“芯片 L6G”或者“L6G SOT-23”,很可能就搜到对应的商品链接,商品详情页里就会写明完整型号。当然,这纯粹是一种逆向工程的技术手段,主要是为了告诉大家,芯片的晶圆上通常会有型号标识,这些标识主要用于生产追溯、质量控制和库存管理。你只需要在搜索框里输入芯片上的丝印代码,比如“2222”、“A1RW”之类的,它就会给你列出一堆可能的型号。至此,芯片的型号就找到了。
2025-12-15 17:20:00
144
转载 内存涨价,对MCU有什么影响? 会涨价或缺货吗?
高端/应用型MCU 或 SoC类MCU(如带AI加速、图形处理、运行Linux的芯片),可能需要外挂DDR/LPDDR(DRAM)或eMMC/NAND,这类产品会直接受到内存涨价影响。我们所说的存储,通常指内存RAM和闪存Flash,大部分MCU都是片上(集成)RAM和Flash,当然,也有少部分MCU会外挂。内部集成了SRAM(用于运行内存)和Flash(用于程序存储),通常不依赖外部DRAM或NAND。储备3–6个月用量。从目前来看,即便涨价,应该也不会持续很久,所以,大家不必恐慌!
2025-12-15 08:02:44
73
转载 搞技术,选择晋升管理层,还是深耕技术成为专家?
软件开发的 “从 1 到 100”,不追求技术上的标新立异,而追求市场适配、稳定可靠、成本可控,需要几十甚至上百人的协同作战,涉及的项目排期、资源分配、绩效评估等,都可能引发利益冲突,这就要求管理者必须敏锐捕捉市场动向,在复杂的人际关系中找到平衡点。开发工作的底层逻辑是 “求真”,是追求逻辑的严谨性、功能的完整性,比如开发一个创新组件、攻克一个技术难点、提交一项专利,评判标准清晰且纯粹,不涉及复杂的利益纠葛,只看技术本身的突破性。是与人协作,整合资源,推动目标落地,本质是研究职场中的社会规律。
2025-12-14 11:43:25
61
原创 各大知名MCU家族PK
GD32算是国内第一家基于Cortex-M内核做成功并做大的MCU厂商,当然兆易创新并不是只做MCU,也在做Flash、内存等其他芯片。瑞萨MCU很早就有了,但在MCU领域是最近几年才发力,像基于Cortex-M内核的RA系列这几年大力布局,还有老牌的RL78系列等。NXP的MCU在全球也算是非常有名的,特别是车规级的CPU。极海MCU是继GD32之后,国内做的还不错的一家MCU厂商,这几年也一直在发力,包括最新。工业界“卷王”来了!当然,沁恒在MCU这一块也是做的还算不错,这些年也在布局MCU生态,像。
2025-12-13 21:08:53
333
转载 RTOS和Linux功能上有什么差异!
是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。RTOS是专为实时应用设计的操作系统,其主要特点是能够在预定的时间内响应输入,并在给定的时间内完成输出,以保证实时性能。例如,在路由器、交换机或防火墙等设备中,RTOS可以确保数据包在预定的时间内得到处理,以满足网络性能的需求。它在需要多任务处理、丰富的软件生态和广泛的硬件支持的场景中表现出色。
2025-12-12 11:30:28
34
STM32F4_TIM编码器模式配置
2017-12-19
神舟III号各项uCOS2.92例程
2013-07-28
uCOS2_STM32F3_CortexM4
2013-07-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅