2022年3月22日

Zephyr 安全机制测试

摘要: 摘要:基于ZephyrV2.0.0,在七星虫德飞莱的STM32F407ZGT6核心板上做测试。STM32F407ZGT6带MPU,可以配置MPU测试内存保护等。根据之前的Zephyr安全机制分析,参考Zephyr自带的测试用例,逐一运行,并分析测试用例的执行。 关键字:Zephyr;MPU;STM32F4;系统调用;内存保护;栈溢出 阅读全文

posted @ 2022-03-22 09:45 wangyw 阅读(181) 评论(0) 推荐(0) 编辑

Zephyr安全机制分析

摘要: 摘要:Zephyr的安全设计,有面向功能安全的分支,也有通用的安全功能。本文基于ZephyrV2.0.0,比较Zephyr与Linux的安全性,以及Zephyr与其它RTOS的安全性,详细介绍Zephyr的安全机制。硬件芯片带MPU时,Zephyr有很好的使用方法,可以支持内存保护、进程隔离、以及Memory Domains内存区域;而且Zephyr支持用户态和特权态,支持系统调用。Zephyr的内核对象,提供了一个简单的权限模型。最后Zephyr支持Arm v8-M trustzone,即带TEE的硬件芯片。 关键字:Zephyr;MPU;系统调用;内存保护;TEE;对象权限 阅读全文

posted @ 2022-03-22 09:43 wangyw 阅读(562) 评论(0) 推荐(0) 编辑

2022年3月17日

ARMv8-M trustzone IOT安全之—— 基于Cortex-M33核的TFM 测试

摘要: 摘要:针对IOT(Internet Of Things,万物物联),ARM v8-M 架构也引入了trustzone,推出了PSA(Platform Security Architecture,平台安全架构)。ARM v8-M架构的芯片,trustzone定义了一个SPE(Secure processing environment,安全的执行环境),以及与之对应的NSPE(Non-secure processing environment,非安全执行环境)。这样的芯片通常CPU、内存等资源都有限,手机上的TEE OS(Trusted Execution Environment,可信执行环境)无法运行在SPE,ARM给出了开源的TFM(Trusted Firmware-M)作为参考实现。本文编译运行TFM的代码,基于MPS2_AN521平台qemu模拟运行,分析各个测试项,进而理解ARM v8-M的安全机制。 关键字:TFM;ARM v8-M trustzone;Cortex-M33;IOT安全; 阅读全文

posted @ 2022-03-17 11:19 wangyw 阅读(863) 评论(0) 推荐(0) 编辑

Zephyr与ARM PSA架构结合保护IOT设备

摘要: 摘要:本文首先介绍ARM Cortex-A系列上的trustzone技术,分析扩展trustzone后芯片的安全特性,以及GP TEE(Trusted Execution Environment,可信执行环境)保护智能设备的安全方案。针对IOT(Internet Of Things,万物物联),ARM v8-M 架构也引入了trustzone,推出了PSA(Platform Security Architecture,平台安全架构)。分析PSA的安全特性后,就ARM官网推出的关于PSA架构的文档资料,详细介绍分析、架构、实现、认证等部分。Linux基金会下的Zephyr,可以作为IOT操作系统,用于保护物联网场景下的终端设备,文章最后讨论Zephyr与PSA结合后的应用方式。 关键字:TEE;ARM trustzone;IOT安全;ARM PSA;Zephyr 阅读全文

posted @ 2022-03-17 11:16 wangyw 阅读(276) 评论(0) 推荐(0) 编辑

Zephyr与FreeRTOS实时性测试比较分析

摘要: 摘要:用Rhealstone基准程序方法,分别测试Zephyr和FreeRTOS两个RTOS的六个实时性能指标,发现Zephyr指标较差。考虑到任务切换时间是其它指标的基础,因此以任务切换时间为例,分析两个系统在实现上的差异。目前Zephyr任务切换时间为6.9微秒,FreeRTOS为2.2微秒。分析比较代码后得出,Zephyr设计时考虑到了时间片等因素,实现上比较复杂,暂时找不到优化的方法。 关键词:Rhealstone实时性测试;Cortex-M3;PendSV;任务切换时间;Zephyr V1.14;FreeRTOS V9.0.0 阅读全文

posted @ 2022-03-17 11:12 wangyw 阅读(5233) 评论(3) 推荐(0) 编辑

2022年3月8日

分析一次Windows电脑使用时蓝屏—— 串口监听工具导致的蓝屏

摘要: 摘要:使用展讯的刷机工具,给手机刷机时,电脑一直蓝屏。根据蓝屏信息,分析后,发现是串口监听工具的进程导致的。刷机时USB会首先被识别成串口,可能串口监听工具监听了该串口。将串口监听工具的进程杀死后,再刷机可以成功了。 关键词:蓝屏;刷机;串口监听工具;USB转串口 阅读全文

posted @ 2022-03-08 10:09 wangyw 阅读(225) 评论(0) 推荐(0) 编辑

也谈安全——记一次国内产品的CC EAL5+安全测评

摘要: 摘要:2021年1月到12月,有幸作为一款安全产品的负责人,对产品开展EAL5+测评。现将测评中的一些过程,记录如下,仅供参考。 关键字:CC测评;安全测评;EAL5+;形式化验证 阅读全文

posted @ 2022-03-08 10:01 wangyw 阅读(425) 评论(0) 推荐(0) 编辑

2022年3月7日

TouchGFX undefined reference to `touchgfx::HAL::blockCopy(void*, void const*, unsigned int)' ——记一次arm-none-eabi-g++ 链接时找不到静态库中对应的函数,学习GNU C++的符号改编机制

摘要: 摘要:本文首先介绍TouchGFX的特性及使用方法,然后用TouchGFX Designer生成一个demo工程,该工程可以在PC环境模拟运行。工程生成的代码,分别在IAR、KEIL MDK-ARM、gcc命令行等环境下编译,生成的HEX文件可以在实体开发板正确运行。将生成的代码摘出来,参照gcc的命令行编译,移植到我所用的操作系统中,我所用系统采用CMake组织、gcc编译,编译阶段无误,链接阶段报找不到静态库中的函数实现。TouchGFX引擎的核心代码不开源,以静态库方式提供,编译时需要链此库。分析后得知,该静态库编译时将uint32_t定义为unsigned long,而我所用系统将uint32_t定义为unsigned int。GNU C++在函数的符号改编时,将函数的参数也作为改编的一部分,这样两者编译时就是不同的函数符号表,我所编译出来的函数符号,在静态库中确实找不到实现。最后在我所用操作系统中,将uint32_t定义为unsigned long,编译链接成功,问题得以解决。 关键字:TouchGFX;libtouchgfx.a;g++链接静态库;C++符号改编 阅读全文

posted @ 2022-03-07 15:38 wangyw 阅读(325) 评论(0) 推荐(0) 编辑

嵌入式系统的GUI分类及介绍——面向MCU微控制器 硬件平台的GUI

摘要: 摘要:分析嵌入式系统GUI选型时需要考虑的问题,简要介绍目前嵌入式系统使用的ToughGFX、emWin、Embedded Wizard、uGFX、LittlevGL、MiniGUI(飞漫)、AWTK(周立功)、Microwindows、OpenGUI、Qt for MCU等10款国内外的GUI。 关键字:嵌入式GUI;ToughGFX;uGFX;LittlevGL 阅读全文

posted @ 2022-03-07 15:35 wangyw 阅读(2567) 评论(0) 推荐(0) 编辑

IOT操作系统分析与比较

摘要: 摘要:根据IOT设备的需求,以及IOT OS需要满足的技术特征、现有IOT OS的来源,分别概述FreeRTOS、AliOS-Things、RT-Thread、Lite OS、Zephyr、Mbed OS、AWorksOS、HybridOS等8个IOT OS的特点。智能物联网(AIOT,AI+IOT)是人工智能与物联网的协同应用,据此分析IOT OS的发展方向。 关键字:物联网操作系统;IOT OS;智能物联网;AIOT 阅读全文

posted @ 2022-03-07 11:36 wangyw 阅读(1788) 评论(0) 推荐(0) 编辑

导航