logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

bootz启动linux内核

分析完uboot启动流程,该篇分析bootz启动linux内核。如下图所示,bootz 命令的执行函数为 do_bootz,主要分为三个阶段:①bootz_start;②bootm_disable_interruptes;③do_bootm_states。1、bootz_start函数bootz_start()主要分为四个阶段:① do_bootm_states();② images->ep

#linux#arm#嵌入式硬件
嵌入式高手都在偷偷用的“第2条”:X‑Macro——一个宏表,同时生成枚举、字符串和查找函数

本文介绍了X-Macro技术,这是一种利用预处理器自动生成重复代码的编程技巧。核心方法是通过定义一张包含数据的宏表(X-Macro),然后通过重新定义宏并多次包含该表,自动生成枚举、字符串表、查找函数等代码。文章以错误码管理为例,展示了如何用同一张数据表同步生成错误码枚举、错误描述字符串数组和错误码转换函数,从而避免手动维护多份代码导致的不一致问题。文中还列举了X-Macro在状态机、命令解析等场

#单片机#嵌入式#arm开发
嵌入式高手都在偷偷用的“第12条”:用 __attribute__((weak)) 写出“可覆盖”的函数,让框架优雅地留出后门

创建弱符号,链接时可以被同名强符号静默覆盖。核心应用:中断回调扩展、驱动钩子、默认配置、可选模块。优势:无需函数指针表、零 RAM 开销、直接调用效率高、用户无需注册。限制:弱符号必须全局可见(不能在头文件内联),不能有重复强符号。

#单片机#arm开发#嵌入式
嵌入式驱动模块的加载与卸载

最近学习正点原子嵌入式驱动模块加载与卸载的时候,使用命令:modprobe chrdevbase.ko 出现hrdevbase: version magic '4.1.15 SMP preempt mod_unload modversions ARMv6 p2v8 ’ should be '4.1.15 SMP preempt mod_unload modversions ARMv7 p2v8 ’

#linux#嵌入式硬件
浅析嵌入式开发中的RAM和ROM

在嵌入式开发中常常会遇到RAM,ROM,flash,内存等等一些问题,先梳理一下备用。1、ROM:只读存储器。优点:容量大,掉电不丢失;缺点:读取速度慢。事实上,“只读”定义不准确,如手机的8+128G。这里8指的是RAM;128指的是ROM。而这里的ROM是flash,如EMMC、UFS、NAND flash都可以进行写操作(擦除–>发送要写地址或扇区–>写数据)。由于历史原因,fl

#单片机#嵌入式硬件#linux +1
ubuntu无法安装libncurses5-dev解决办法

学习嵌入式uboot移植,需要安装libncurses5-dev,执行命令如下:sudo apt-get install libncurses5-dev但是出现下面问题:E: 无法下载 http://cn.archive.ubuntu.com/ubuntu/pool/main/n/ncurses/libncurses5-dev_6.2-0ubuntu2_amd64.deb暂时不能解析域名“cn.a

#arm#linux#嵌入式
嵌入式高手都在偷偷用的“第30条”:链接脚本里加一行 ASSERT ,让地址越界在链接期就暴露

文章摘要: 本文介绍了嵌入式开发中链接脚本的ASSERT指令,它能强制校验内存布局约束,防止运行时错误。ASSERT在链接阶段验证地址、大小、对齐等条件,若失败则中断构建并报错。典型应用包括:检查.ramfunc段是否超限(ASSERT(SIZEOF(.ramfunc) <= 4K))、确保堆栈不重叠(ASSERT(__heap_start__ < __heap_end__))、验证关键段地址(如

#嵌入式#arm开发
A53 FPGA原型验证:从RTL到可运行系统的挑战

2019年某自动驾驶芯片公司因FPGA原型验证中的时钟约束过度放宽,导致流片后系统启动失败,造成2500万美元损失。分析发现FPGA与ASIC存在三大关键差异:时钟网络结构不同、复位分布机制差异以及时序模型区别。文章详细探讨了FPGA验证的精准控制策略,包括四层时钟约束架构、复位网络拓扑验证方法和时序例外管理技术,并提出了SoC到FPGA的系统移植方案。案例揭示了FPGA原型验证的本质——不是仿真

#嵌入式#arm开发
A53低功耗验证:状态机验证与唤醒时序检查——芯片的“睡眠科学“

芯片电源状态验证的复杂性挑战 本文深入分析了某可穿戴设备芯片"睡眠死亡"故障的根源,揭示了电源状态验证面临的多维度挑战: 状态空间爆炸:由电源域、时钟域、电压域等多维度参数组合产生的超大规模状态空间(理论值达4.3×10^12种状态) 物理环境依赖性:故障仅在特定温度(-10°C~0°C)和电压(0.9V)组合下触发,凸显了验证需覆盖极端环境条件 形式化验证方法:通过符号模型检

#嵌入式
A53缓存一致性验证:形式化方法与动态仿真的结合

文章摘要 某服务器CPU在运行数据库集群时出现"幽灵数据"现象:核心A写入的数据X无法被核心B正确读取。尽管MESI缓存一致性协议的硬件计数器显示正常,但问题根源在于一致性控制器处理"使无效"请求时存在特定条件下的重新排序,违背了内存模型。文章详细分析了缓存一致性协议的形式化建模过程,包括状态机定义、安全属性(单写者、数据一致性、顺序一致性)和活性属性(请求

#缓存#嵌入式#arm开发
    共 50 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择