标签 嵌入式 下的文章

QEMU资源占用过高的问题

QEMU是一个非常流行的虚拟机软件,支持多种架构CPU的模拟运行,就连我常常使用的VPS实际很多都是QEMU实现的。除了x86架构之外,QEMU支持各种常见的处理器模型,比如ARM,MIPS,PowerPC,RISCV等等,这个也是QEMU区别于其他虚拟机软件的优势之一。最近在学习ARM的时候,因为懒得搞什么开发板,所以就直接在QEMU上搞一下,QEMU还是非常方便的,直接下载ARM相关组件...

继续阅读 »

MCU中的Secure启动

最近安全这个词在MCU中被提及的次数越来越多了,因为各种设备联网需求,人们对于信息安全的需求也越来越高,设备安全的要求也越来越高。另外设备厂商对于自己程序的安全性也越来越重视。现在MCU中一般都会支持一个Secure boot的功能,这个功能简单来说就是支持MCU可以识别设备中的固件是不是一个可以信任的固件,如果是信任的估计,那么MCU就会启动这个固件,否则MCU会拒绝执行这个固件。这个过程...

继续阅读 »

TrustZone中Secure和Non-Secure模式的切换

ARMv8-M的TrustZone支持Secure和Non-Secure模式的直接切换。以下几个汇编指令是状态切换中要用到的比较重要的指令:指令描述SGSecure Gateway是状态切换的第一条指令BXNS用于安全模式切换到非安全模式BLXNS用于安全模式下的非安全函数调用一下是状态切换的一个框图:从非安全模式下调用安全模式函数也是允许的,不过entry point的第一条指令必须是SG...

继续阅读 »

MacOS下通过GDB开发嵌入式程序

最近换了MacOS平台,之前常用的IAR除了用虚拟机似乎是没有什么办法可以在MAC中使用了,而我又算是一名嵌入式程序开发着,所以还是有在MAC中开发嵌入式程序的需求。因为不能用IAR,所以首先要将编译平台换到GCC上面,这里可以直接在ARM官网下载相应的安装包,安装包下载完成之后,只需要设置好相应的PATH环境变量就可以直接使用了。工程的建立也不能在IAR中进行,而是需要编写相应的MakeF...

继续阅读 »