news 2026/5/1 6:35:50

脚本编译中怎么将/application/aima或/application/demo目录编译进去的

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
脚本编译中怎么将/application/aima或/application/demo目录编译进去的

我先定位顶层 CMake 里选择 aima/demo 的那段逻辑(含行号),然后把它和 build_yaxon.bat 传参、Makefile 调用 cmake 的环境变量传递关系串起来解释清楚。

Read multiple configuration files
把 aima 或 demo 编进最终固件(准确说是编进 userspace 的 customer_app.elf)的入口在顶层 CMake:看 CMakeLists.txt:153-164。

1) 触发条件:必须启用 PROJECT_YAXON

只有 if(PROJECT_YAXON) 成立时,才会走“编译雅迅APP”这段逻辑(并最终链接进可执行文件):CMakeLists.txt:152-164
这个 PROJECT_YAXON 一般来自 .config(Kconfig)转成的 CMake 选项(Makefile 调 cmake 时会把 .config 里的开关转成一堆 -Dxxx=ON/OFF 传进去)。
2) 选择 aima 还是 demo:靠环境变量 build_option
在 CMakeLists.txt:154-159:

如果环境变量 build_option 非空:
add_subdirectory(./application/$ENV{build_option} YXAPP)
也就是你设置 build_option=demo 时,会进入 demo,读取它的 CMakeLists.txt,生成一个静态库目标 YXAPP(例如 CMakeLists.txt 里 add_library(YXAPP STATIC ...))。
如果环境变量 build_option 为空:
默认 add_subdirectory(./application/aima YXAPP)
对应 CMakeLists.txt 里同样定义 YXAPP 静态库。
3) “编进固件”具体是怎么完成的:链接 YXAPP 到 userspace 可执行文件
紧接着它做了链接:
target_link_libraries(${SC_USERSPACE_NAME} PRI

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 10:15:36

实验一 安全威胁与攻击实验

一、实验目的安全威胁与攻击实验与理论教学第一章信息安全概论相对应。本实验在学生完成MAC地址欺骗攻击与防御实验、OSPF路由项欺骗攻击和防御实验的基础上,使学生能够理解威胁、攻击、资产的关系,并理解基本安全设计原则的重要性。具体如下&#xff1a…

作者头像 李华
网站建设 2026/4/21 1:18:17

二十一、pinctrl子系统

前言 前面我们写的GPIO驱动程序都是自己在驱动里面定义好gpio引脚需要用到的寄存器,然后在驱动程序里面直接去配置这些寄存器。Linux是一个成熟的,跨平台的通用操作系统,对于配置引脚这样的最基本的功能,是已经有一套现成的框架可…

作者头像 李华
网站建设 2026/4/24 13:41:20

Java Web 社区医院信息平台系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

摘要 随着信息技术的快速发展,传统社区医院的管理模式已难以满足现代医疗服务的需求。社区医院在日常运营中涉及患者信息管理、医生排班、药品库存、预约挂号等多方面业务,传统的手工记录或单机系统存在效率低下、数据易丢失、信息共享困难等问题。为了提…

作者头像 李华
网站建设 2026/4/21 15:05:37

基于SpringBoot+Vue的IT交流和分享平台管理系统设计与实现【Java+MySQL+MyBatis完整源码】

摘要 随着互联网技术的快速发展,IT技术交流与知识分享的需求日益增长。传统的技术论坛和社交媒体平台虽然提供了基础的交流功能,但在专业性、系统性和用户体验方面仍有较大提升空间。尤其是在技术问答、资源共享和项目管理等方面,缺乏高效的整…

作者头像 李华
网站建设 2026/4/22 23:56:49

Java SpringBoot+Vue3+MyBatis 师生健康信息管理系统系统源码|前后端分离+MySQL数据库

摘要 随着信息化技术的快速发展,校园健康管理逐渐成为教育领域的重要课题。传统的师生健康信息管理多依赖纸质记录或分散的电子表格,存在数据易丢失、更新不及时、统计效率低下等问题。尤其是在新冠疫情期间,健康信息的实时监控和高效管理显得…

作者头像 李华
网站建设 2026/4/23 15:29:12

前后端分离“衣依”服装销售平台系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程

摘要 随着电子商务的快速发展,服装销售行业对高效、灵活的管理系统需求日益增长。传统的单机版或前后端耦合的系统架构已难以满足现代企业对快速迭代、高并发访问及跨平台兼容性的需求。服装销售平台需要具备商品管理、订单处理、用户交互等功能,同时还需…

作者头像 李华