今天我们看一看内核锁机制引起的一类稳定性问题:soft lockup。
用 crash tool 解析出的信息如下:
x86架构相关的内存序及内存屏障知识,参阅《Intel SDM之Memory Ordering》。
本文为Arm Developer《Learn the architecture-Memory Systems,Ordering,and Barriers》的翻译(https://developer.arm.com/documentation/102336/0100?lang=en)。
本文非常之好,回答了我对于啥是“观察者”、啥是“Shareability domain”以及啥是“访问完成”的定义性困惑。那些讲内存屏障但不先讲清楚以上这些基础概念的文章都拉黑吧,因为作者只是在机械地背诵,而不是真正的理解了;或者作者压根就没思考过底层细节,因为但凡思考过,这些基础概念必然是跳不过去的。
相对而言,Intel spec行文要严谨、易读一些,Arm spec略显诘诎聱牙(当然本文严格意义上不算是spec,只是一篇guide),可能是语言表达习惯问题。
宏观上看,做嵌入式的公司可以分为2两种:芯片原厂和方案公司。
芯片原厂:顾名思义,芯片是自家的,自己设计芯片,然后把芯片卖给别人。
方案公司:买别人的芯片,做方案,也就是做产品。
身为一名驱动开发人员,在芯片原厂做驱动,和在方案公司做驱动,差别还是很大的。
哪些东西只有芯片原厂能做,而方案公司做不了呢?
AMBA(Advanced Microcontroller Bus Architecture)总线是由ARM公司设计并提出的一种用于高性能嵌入式系统的标准。它因片上系统SoC(System on Chip)的广泛应用的取得了巨大的成功。
工作中遇到的多核 ARM CPU 越来越多,总结分享一些多核启动的知识,希望能帮助更多小伙伴。
在 ARM64 架构下如果想要启动多核,有 spin-table 和 psci 两种方式,下面针对这两种启动流程进行分析。
© 2025 VxWorks Club