![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式软件开发
归云十九少
这个作者很懒,什么都没留下…
展开
-
嵌入式SOC选型
嵌入式SOC选型原则原创 2024-03-05 14:27:40 · 478 阅读 · 0 评论 -
Linux kernel log
1、动态控制 log 打印的级别echo <n> > /proc/sys/kernel/printk可以控制 log 输出级别。level 小于<n>的 log会输出到console口。注意 : <n> 级的 log 不会输出。通过`cat /proc/kmsg`可以查看所有编译时允许输出的 log,比如 console_loglevel 设置为4,此时在console 口上只有 0~3 level 的 log输出,但通过 `cat /proc/...原创 2022-05-03 21:09:05 · 1520 阅读 · 0 评论 -
LwIP学习笔记----程序执行的线程环境
LwIP支持在 Mainloop 模式(即没有目标板上没有 OS/RTOS)和 OS模式。宏 NO_SYS控制模式选择,NO_SYS设置为0,表示OS模式。 以下描述都是基于 OS 模式。在OS模式下,LwIP会创建一个 tcpip_thread 线程。 不同线程访问同一变量存在不一致的问题,为了解决这个问题,有2种解决方式:(1)保证只在一个线程(假设A线程)内访问变量,如果其它线程要访问该变量,通过线程间通信让A线程访问,再告知访问线程。(2)通过互斥量做排他性访问。 LwIP通过宏 LWIP_TC原创 2020-08-19 21:21:08 · 2722 阅读 · 0 评论 -
FreeRTOS和ThreadX的任务调度
通过将 configUSE_PREEMPTION 和 configUSE_TIME_SLICING 都设置 1,FreeRTOS可以同时支持基于优先级可抢占的调度和相同优先级任务时间片调度。 在这种配置方式下,任务会在以下时间点发生调度:1、低优先级任务发送消息、事件或者信号量可以导致高优先级任务进入运行态。 该低优先级任务的发送消息、事件、信号量函数返回时,代表它再次进入运行态,也表示由其引起的高优先级任务执行已经完毕。2、中断服务程序的发送消息、事件...原创 2020-07-15 17:41:32 · 4412 阅读 · 2 评论 -
嵌入式系统log模块设计
对于开发嵌入式系统的工程师来说,log功能无疑是非常重要的功能模块。这里讲讲嵌入式系统log模块的基本设计框架。1、可以方便设置从不同的硬件接口输出 log,比如USB、不同的串口。2、log系统需要支持区分软件模块和log level,支持通过简单的配置,开启或者关闭不同模块、不同level的log输出。 通过PC工具可以修改这些配置。这些配置要修改到嵌入式终端,并让嵌入式终...原创 2020-05-05 16:00:10 · 1546 阅读 · 1 评论 -
Arm内核解析
Arm 架构已经主导了当今嵌入式处理和计算市场,但在过去的几十年里,Arm 架构却走过了漫长的道路。从20世纪80年代开始,它起初是作为家用电脑处理器,然后在20世纪90年代成为手机芯片的基础。如今,在几乎所有技术细分市场,Arm都是一个强有力的竞争者。许多人认为,Arm 架构已成为 32 位或 64 位处理器的首选。由于这种广泛应用,现在已经有成千上万种基于Arm架构的变体。了解这些内核彼此之间...转载 2020-04-14 22:13:09 · 1178 阅读 · 0 评论 -
UIS8910DM平台的编译系统
这里所说的编译系统是一种笼统的说法,大体上包含构建系统和编译工具集合。编译工具集合就是大家熟悉的编译器、汇编器、连接器等,该平台使用的是GCC,具体路径位于prebuilt/win32/gcc-arm-none-eabi,这里就不多说了。下面我们主要讲讲该平台的构建系统(build system)。 讲到构建系统,大家比较熟悉就是makefile了,它通过Makefile语言编写的脚本,组...原创 2020-02-04 21:05:58 · 5436 阅读 · 0 评论 -
嵌入式软件开发工具集锦
本文主要介绍本人在十多年嵌入式软件开发生涯中用过的并觉得好用的开发工具、调试工具、测试工具和部分项目管理工具。 1、SourceInsight SourceInsight是嵌入式软件开发必不可少的代码编辑和阅读工具,同时还可以集成代码检查工具。目前主流的是3.5版本,最新的4.0版本吸收不少其它IDE的优点,支持的编程语言也更多。2、UltraEdit在嵌入式软件开发中...原创 2018-02-08 09:06:22 · 5919 阅读 · 0 评论 -
软件编程原则
关于编程原则,实际上并没有一套统一的原则可以适用于所有的系统,不同应用场景、不同架构的系统,对于编程原则的要求相差还是比较大,看看以下著名的17条UNIX编程原则和NASA 的10条安全编码准则,大家就可想而知了。当然,两者并非对比,而是侧重点不同。 UNIX哲学17条原则1、模块化原则(Rule of Modularity)开发人员应该使用定义良好的界面连接简单的部分来构建程序,...转载 2018-10-25 13:00:02 · 1029 阅读 · 0 评论