《密码技术与物联网安全:mbedtls开发实战》 —2.8 Zephyr 应用示例开发

举报
华章计算机 发表于 2019/12/16 14:21:57 2019/12/16
【摘要】 本节书摘来自华章计算机《密码技术与物联网安全:mbedtls开发实战》 一书中第2章,第2.8.1节,作者是徐 凯 崔红鹏 。

2.8 Zephyr 应用示例开发

完成Zephyr开发环境的构建工作之后,本节通过一个随机数示例说明开发Zephyr应用的基本步骤。随机数是物联网应用的重要组成部分,公钥密码、数字签名和TLS/DTLS部分均与随机数相关。Zephyr应用示例结构如下:

# 进入示例路径

$ cd 02_start/zephyr/random

# 查看示例文件结构

$ tree -L 2

├── CMakeLists.txt

├── prj.conf

└── src

└── main.c

随机数示例相关文件及其描述如表2-6所示。

表2-6 Zephyr随机数示例相关文件描述

image.png

 

2.8.1 编写 CMakeLists.txt

此处CMakeLists.txt文件是一个非常好用的Zephyr模板文件,只需简单的修改便可适配其他的Zephyr应用。该文件的具体内容如下:

cmake_minimum_required(VERSION 3.8.2)

include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)

project(NONE)

 

FILE(GLOB app_sources src/*.c)

target_sources(app PRIVATE ${app_sources})

在CMakeLists.txt文件中,通过include指令引入一个构建脚本boilerplate.cmake。为了能够正确地找到boilerplate.cmake脚本,CMake构建脚本通过环境变量中的ZEPHYR_BASE变量获取Zephyr源代码的安装路径,只有ZEPHYR_BASE环境变量设置正确才可以顺利载入boilerplate.cmake脚本。再通过FILE命令把src文件夹中的所有C文件复制到CMake内部变量app_sources中。最后,通过target_sources指令引入依赖的C文件,构建名为app的可执行固件。boilerplate.cmake较为复杂,它包含了很多CMake技巧,但其具体内容已经超出了本书的讨论范围。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。