MBED代码浏览

MBED包含以下目录 

CMSIS: RMCortex™ 微控制器软件接口标准(CMSIS:Cortex Microcontroller Software Interface Standard) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层(英文原文为:a vendor-independent hardware abstraction layer for the Cortex-Mprocessor series and defines generic tool interfaces--来自ARM官方定义)。 使用CMSIS,可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。软件的创建被嵌入式行业公认为主要成本系数。通过在所有Cortex-M 芯片供应商产品中标准化软件接口,这一成本会明显降低,尤其是在创建新项目或将现有软件迁移到新设备时 .  摘录自 https://baike.baidu.com/item/CMSIS/4082822

EVENTS:事件框架

FEATURES:支持的功能,包括BLE、LWIP、TLS等

HAL:MBED定义的硬件适配层。依赖于TARGETS目录提供的硬件适配支持。

PLATFORM: 还不清楚

RTOS:实时操作系统. Official mbed Real Time Operating System based on the RTXimplementation of the CMSIS-RTOS API open standard

TARGETS:特定开发板实现HAL需要的接口、连接脚本文件、使用的CMSIS头文件

MBED代码浏览_第1张图片

代码架构图示如下

MBED代码浏览_第2张图片

软件体系架构

MBED代码浏览_第3张图片

图片源自:https://www.zhihu.com/question/25981847


在KEIL环境下,配置项目属性,设置创建批处理文件

MBED代码浏览_第4张图片

编译完成后,生成命令行批处理xxx.BAT文件.分析该BAT文件,可以看到项目用到的代码文件,以及每个代码文件使用的编译、编译属性、代码对应的依赖关系。也可以看到BIN文件生成时的链接属性,使用的链接脚本等信息。

如:"C:\Keil_23\ARM\ARMCC\Bin\ArmCC" --Via ".\build\aes.__i" 指明编译信息来自.\build\aes.__i文件。

打开.\build\aes.__i文件,可看到,每个选项可参见MDK-ARMarmcc编译器——预定义宏


--c99

-c

--cpu Cortex-M4.fp

-g

-O0

--apcs=interwork

-I 包含的头文件路径

-D  工程宏定义

--preinclude=mbed_config.h 

--no_rtti

--split_sections 

-c

--no_depend_system_headers

--md  

--apcs=interwork

-o .\build\aes.o  输出文件名

--omf_browse .\build\aes.crf  产生的浏览信息文件

--depend .\build\aes.d   依赖文件,顺序列出了修改了代码后需要编译的文件

"mbed-os/features/mbedtls/src/aes.c"   源代码

批处理文件尾部是连接信息

"C:\Keil_23\ARM\ARMCC\Bin\ArmLink" --Via ".\BUILD\mbed-os-example-blinky.lnp"

打开\BUILD\mbed-os-example-blinky.lnp,可看到详细的链接信息

--cpu=Cortex-M4.fp
需要链接的目标文件
链接使用的SCATTER文件
--scatter "mbed-os/targets/TARGET_NUVOTON/TARGET_NUC472/device/TOOLCHAIN_ARM_STD/TARGET_NU_XRAM_SUPPORTED/NUC472.sct"
--show_full_path --summary_stderr --info summarysizes --map --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list ".\BUILD\mbed-os-example-blinky.map" -o .\BUILD\mbed-os-example-blinky.axf






你可能感兴趣的:(MBED代码浏览)