摘要: bootstrap 维基百科解释 bootstrap (复数 bootstraps) A loop (leather or other material) sewn at the side or top rear of a boot to help in pulling the boot on. ( 阅读全文
posted @ 2024-03-27 12:50 zephyr~ 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 整数 /* atf/include/lib/utils_def.h */ /* * This variant of div_round_up can be used in macro definition but should not * be used in C code as the `div` 阅读全文
posted @ 2024-03-06 16:18 zephyr~ 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Linux很多地方会使用 local_irq_disable/local_irq_save函数,那么不同CPU架构,有不同的实现方式,arm64又是怎么实现的呢? 下面是spin_lock_irqsave的代码调用层次关系: -> spin_lock_irqsave /* include/linux 阅读全文
posted @ 2024-03-05 19:13 zephyr~ 阅读(5) 评论(0) 推荐(0) 编辑
摘要: https://mp.weixin.qq.com/s/yTInDBFbI0oM5bowx990lw 在我们嵌入式开发中,打印日志是最常用的一种调试手段。合理地打印日志,可以帮助我们快速地分析问题。 本篇文章我们来汇总一些嵌入式打log的一些规则。 1.什么操作下加日志? (1)错误处理 对于不能恢复 阅读全文
posted @ 2024-02-07 14:05 zephyr~ 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 背景 运行qemu的环境为host,qemu模拟的系统为guest。基于不同的需求,有时需要对串口进行重定向 qemu -serial选项 qemu提供了很多的重定向选项,null, socket, udp, msmouse, vc, file, pipe, console, serial, pty 阅读全文
posted @ 2024-01-31 17:35 zephyr~ 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 为什么需要CLI 在开发过程中——从硬件原型到制造——有必要一遍又一遍地运行测试代码来验证功能或执行系统级测试。这通常可以通过单步执行调试器中的代码来完成,或者通过重复重新启动设备来导致某些事情发生。这是引起可能的启动/初始化延迟的一个缺点,需要使用调试器,并假设非开发人员(即制造商)将拥有必要的专 阅读全文
posted @ 2024-01-30 18:08 zephyr~ 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 什么是linker relaxations 由于链接时携带一些符号地址信息,可以执行一些编译时难以或者不大可能实现的优化。Linker Relaxtion 与传统编译时期的优化是不一样的,此优化发生在链接时。通常情况下,在链接时,改变代码的执行序列是有风险的,因为语义信息此时会丢失,链接器看到也仅是 阅读全文
posted @ 2024-01-19 20:06 zephyr~ 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 在调试的过程中,尽量选择最低的编译器优化选项,这样就可以比较直观的观察到整个程序的运行状态 ICE(on chip In Circuits Emulation): 将在线仿真器的相关硬件逻辑直接集成在处理器芯片内部,在线仿真器监测CPU的所有输入输出信号,从而实现调试器的断点和跟踪trace功能 断 阅读全文
posted @ 2024-01-14 20:09 zephyr~ 阅读(14) 评论(0) 推荐(0) 编辑
摘要: Ref 内联汇编语法:https://gcc.gnu.org/onlinedocs/gcc/Using-Assembly-Language-with-C.html gccindex:https://gcc.gnu.org/onlinedocs/gcc/index.html 阅读全文
posted @ 2024-01-05 12:10 zephyr~ 阅读(3) 评论(0) 推荐(0) 编辑
摘要: riscv没有sev/wfe指令,当前无法在spinlock时省功耗,只能通过while循环不断检查条件。 本文分析linux内核下对于spinlock的实现,具体到RISC-V体系结构。由于RISC-V体系结构下目前只是简单的实现了一个基于TAS的最基本的spinlock,本文的另一个附加任务就是 阅读全文
posted @ 2023-12-22 12:26 zephyr~ 阅读(47) 评论(0) 推荐(0) 编辑