前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全志XR806 FreeRTOS快速开发入门

全志XR806 FreeRTOS快速开发入门

作者头像
阿志小管家
发布2024-03-03 09:14:05
1710
发布2024-03-03 09:14:05
举报
文章被收录于专栏:全志嵌入式那些事

RTOS 快速开发入门

XR806 是一颗高集成度无线应用MCU,其集成了ARMv8-M 内核、IEEE 802.11b/g/n Wi-Fi 子系统、BLE 5.0子系统、电源管理系统、高级别的安全系统以及丰富的外设接口,具有优秀的射频性能、稳定性、可靠性和超低功耗。

芯之联软件开发平台,具有丰富的组件和灵活的应用框架,可满足用户对Wi-Fi、BLE、低功耗、安全等多方面的需求,可协助用户快速开发智能产品应用,包括物联网(IoT)、智能家居、云连接等。

SDK 说明

框架简述
目录结构

目录结构如下,其中out 目录在编译时产生。

代码语言:javascript
复制
.
├── bin # bin 文件目录,存放预置bin 文件
├── chip.mk
├── config.mk
├── gcc.mk
├── Kconfig
├── Makefile
├── include # 头文件目录,存放模块对外头文件
├── lib # 库文件目录,存放预置库文件和编译生成的库文件
│ ├── libaac.a
│ ├── libadt.a
│ └── ......
├── out # 编译生成文件存放目录,存放编译生成的bin 和image
├── project # 工程总目录
│ ├── bootloader # bootloader 工程
│ ├── common # 工程公用代码
│ ├── demo # 演示工程总目录,该目录下每个目录对应一个工程
│ │ ├── hello_demo
│ │ ├── wlan_demo
│ │ └── ......
│ ├── example # 示例工程总目录,该目录下每个目录对应一个工程
│ │ ├── uart
│ │ ├── wlan
│ │ └── ......
│ ├── image_cfg
│ │ └── image.cfg # 默认镜像配置文件
│ ├── linker_script
│ │ └── gcc
│ │ ├── appos.ld # 工程默认链接脚本
│ │ └── bootloader.ld # bootloader 链接脚本
│ ├── project.mk
│ ├── Kconfig
│ └── ......
├── src
│ ├── driver
│ │ ├── chip # 芯片外设驱动
│ │ └── component # 扩展外设驱动
│ ├── image # image 模块
│ ├── kernel # 内核
│ ├── ota # OTA 模块
│ └── ......
├── ......
└── tools # 镜像打包及烧录等工具
构建系统和配置文件

XRADIO SDK 的代码编译和镜像创建采用Kconfig 和Makefile 进行管理,Kconfig 和关键Makefile 和配置文件的说明见表。除特殊说明外,下文所有路径描述均为相对于SDK 根目录的相对路径。

一般情况下,用户只需要修改以下文件来实现工程配置定义:

  • project/[prj]/gcc/Makefile(用于指定工程源文件、库、链接脚本、镜像配置文件等)
  • project/[prj]/gcc/defconfig(可用于覆盖顶层.config 中的默认配置)
  • project/[prj]/prj_config.h(覆盖“project/common/prj_conf_opt.h”中的默认配置)
代码编译和镜像创建

代码编译前需要在“gcc.mk”中设置正确的GCC 交叉编译工具链路径,例如:

代码语言:javascript
复制
CC_DIR = ~/tools/gcc-arm-none-eabi-8-2019-q3-update/bin

所有代码编译和镜像创建命令均需在Linux 终端执行,在顶层目录编译。

  1. 先copy 一份配置作为默认配置。例如:
代码语言:javascript
复制
cp project/demo/hello_demo/gcc/defconfig .config
代码语言:javascript
复制
make PRJ=demo/hello_demo defconfig

应用示例

对“hello_demo”工程进行代码编译和镜像创建的常规过程,举例如下:

代码语言:javascript
复制
# 复制默认配置文件到顶层目录(不切换工程可不要此步骤)
$ cp project/demo/hello_demo/gcc/defconfig .config 或make PRJ=demo/hello_demo defconfig
# 检查SDK 基础配置,如工程名、芯片型号、高频晶振、板级配置是否正确
$ make menuconfig
# 清理,切换工程时需要
$ make build_clean
# 编译代码并生成镜像文件,生成的镜像文件为“out/xr_system.img”
$ make build(建议使用make build -j 加速编译)

编译bootloader 的过程如下:

代码语言:javascript
复制
# 复制默认配置文件到顶层目录
$ cp project/bootloader/gcc/defconfig .config 或make PRJ=bootloader defconfig
# 检查SDK 基础配置,如工程名、芯片型号、高频晶振、板级配置是否正确
$ make menuconfig
# 清理,切换工程时需要
$ make build_clean
# 编译代码并生成镜像文件,默认晶振是40M,生成的镜像文件为
#“bin/xradio_v3/boot/xr806/boot_40M.bin”
$ make build(建议使用make build -j 加速编译)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • RTOS 快速开发入门
    • SDK 说明
      • 框架简述
      • 目录结构
      • 构建系统和配置文件
      • 代码编译和镜像创建
    • 应用示例
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档