全志 xradio xr806


https://aijishu.com/a/1060000000282581
https://aijishu.com/a/1060000000256631
https://aijishu.com/a/1060000000247851
https://aijishu.com/a/1060000000256635
https://aijishu.com/a/1060000000256638
https://aijishu.com/a/1060000000256642 cmd

https://www.openharmony.cn/#/documents/device-dev-kernel/device-dev-kernel-1/kernel-mini-overview
http://web.chacuo.net/formatc
xradio 环境搭建
https://github.com/XradioTech/xradiotech-wiki/wiki/Developer
https://github.com/XradioTech/xradiotech-wiki/wiki/dev-setup-on-windows

cd device/xradio/xr806/xr_skylark                               #(1)进入原生SDK目录
cp project/demo/audio_demo/gcc/deconfig .config                 #(2)复制配置文件
make menuconfig                                                 #(3)图形化界面配置
make build_clean                                                #(4)清除旧配置
make lib -j                                                     #(5)根据配置生成静态库和全局头文件
cd -                                                            #(6)返回Harmony根目录
hb set                                                          #(7)选择wifi_skylark
hb build -f                                                     #(8)编译,后续不需要重新配置

如果没有repo工具,可通过下面的git命令获取repo。
git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo


xr806 编译 Unable to load "...SDKconfig.gni"

#!/usr/bin/python3

file = open('/home/make/xr806_openharmony/device/xradio/xr806/xr_skylark/.config', 'r')

try:
 DATA = ['#XR806 config']
 text_lines = file.readlines()
 print(type(text_lines), text_lines)
 for line in text_lines:
    if line[0] != '#' and line[0] != '\n':
        line = line.strip('\n')
        DATA.append(line)
 GNf = open('/home/make/xr806_openharmony/device/xradio/xr806/liteos_m/SDKconfig.gni', 'w')
 GNf.write('#Build by config.py DO NOT EDIT!\n\n')
 GNf.write('SDK_cflags = [\n\
    "-mcpu=cortex-m33",\n\
    "-mtune=cortex-m33",\n\
    "-march=armv8-m.main+dsp",\n\
    "-mfpu=fpv5-sp-d16",\n\
    "-mfloat-abi=softfp",\n\
    "-mcmse",\n\
    "-mthumb",\n\
    "-c",\n\
    "-g",\n\
    "-fno-common",\n\
    "-fmessage-length=0",\n\
    "-fno-exceptions",\n\
    "-ffunction-sections",\n\
    "-fdata-sections",\n\
    "-fomit-frame-pointer",\n\
    "-Wall",\n\
    #"-Werror",\n\
    "-Wno-cpp",\n\
    "-Wpointer-arith",\n\
    "-Wno-error=unused-function",\n\
    "-MMD",\n\
    "-MP",\n\
    "-Os",\n\
    "-DNDEBUG",\n\
    "-Wno-error=stringop-truncation",\n\
    "-Wno-error=restrict",\n\
    "-includexr_config.h",\n\
    "-includecommon/prj_conf_opt.h",\n\
    "-DCONFIG_CHIP_ARCH_VER=3",\n\
    "-DCONFIG_ARCH_APP_CORE",\n\
    "-DCONFIG_CPU_CM33F",\n\
]\n\n')
 PROJECT = [x for i,x in enumerate(DATA) if x.find('CONFIG_PROJECT=') != -1]
 if len(PROJECT) == 1:
    ProjectPath = PROJECT[0]
    ProjectPath = ProjectPath.strip('CONFIG_PROJECT=')
 GNf.write('ProjectPath = {0}\n\n'.format(ProjectPath))
 if ProjectPath == '"bootloader"' or ProjectPath == '"test/etf"':
    GNf.write('declare_args() {IsBootloader = "true"}\n')
 else:
    GNf.write('declare_args() {IsBootloader = "false"}\n')
finally:
    file.close()

相关