X2000 SDK 开发笔记

2023-11-03

SDK编译

# 1、设置环境变量
#在工程目录下执行命令:
source build/envsetup.sh
# 2、选择 device
#在工程目录下执行命令:
lunch
# 根据硬件底板版本选择v10,v20,v30,根据开发板flash默认选择nand
# 3、工程编译
make -j8
#编译结果的输出具体如下:
#① 工程目录/out/product/halley5/image,生成 kernel、system.ubifs、uboot 镜像。
#② 工程目录/out/product/halley5/obj 是 buildroot、kernel、uboot、packages 等编译过
#程中的输出的中间文件。
# 4、工程 clean
make clean

单独编译(需要注意的是单独编译的前提条件是工程已进行了整体编译)

3.2.1 编译 uboot
make uboot-clean
make uboot
3.2.2 编译 kernel
make kernel-clean
make kernel-menuconfig
make kernel -j8
3.2.3 编译 buildroot
make buildroot-clean
make buildroot-distclean
make buildroot-menuconfig
make buildroot -j8
make buildroot-rebuild #局部修改 buildroot 后编译 buildroot 的方法
#buildroot 工程所包含的第三方软件位于 buildroot/packages 目录下,编译输出位于
#/out/product/halley5/obj/buildroot-intermediate/build。
3.2.4 编译模块
make $(LOCAL_MODULE)
#以工程目录 /packages/example/App/v4l2-h264dec 模块为例
#该模块在其目录下的 Build.mk 文件中 LOCAL_MODULE 赋值为:v4l2-h264dec
make v4l2-h264dec
make $(LOCAL_MODULE)-clean
make v4l2-h264dec-clean
3.2.5 编译文件系统镜像
make systemimage
#会在工程目录/out/product/halley5/image 下重新生成 system 的镜像
3.2.6 打包文件系统镜像
make post-image
#将编译后输出的文件打包成最终的文件系统镜像,用于烧录到开发板。
#最终的文件系统镜像输出在工程目录/out/product/halley5/image 目录下。

烧录

#烧录工具位于工程目录/prebuilts/burnertools
#进入到烧写工具目录下
tar -xf cloner-2.5.10.6-ubuntu_alpha.tar.gz
#开始烧录前需要确保开发板的两个 Type-C 接口和 PC 已连接。
./cloner
2、命令执行结束后将打开一个图形界面软件,首先先进行相应的配置点击 Config。
3、基本信息的配置,点击 INFO,进入基本配置信息,Platform 选择 x2000,Board 选择x2000_sfc_nand_lpddr3_linux.cfg
4、配置镜像文件路径,点击 POLICY 进行相应的配置。顺序设置 uboot、kernel 和 rootfs 镜
像文件的相应路径(文件名分别是 uboot、kernel、system.ubifs)
5、设置完成后点击 Save 保存配置,准备烧写。
6、点击烧录工具主界面的 Start 按钮。
7、开发板进入烧写状态,先按下开发板的 BOOT_SEL0 按键,然后按下 RST_N 按键,待蓝色指
示灯亮起后,再分别松开 RST_N 和 BOOTL_SEL0 按键。
8、等待烧录工具各项烧录完成到 100%

君正 SDK 内核开发流程

source build/envsetup.sh
lunch
make -j8
make kernel-menuconfig # 配置内核
make kernel # 编译内核,生成文件 out/product/productName/image/kernel
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

X2000 SDK 开发笔记 的相关文章

  • 无法执行'x86_64-conda_cos6-linux-gnu-gcc':没有这样的文件或目录(pysam安装)

    我正在尝试安装 pysam 执行后 python path to pysam master setup py build 这个错误的产生是 unable to execute x86 64 conda cos6 linux gnu gcc
  • 如何在Python中独立于语言安装(linux)获取用户桌面路径

    我找到了 如何找到用户桌面的路径 的几个问题和答案 但在我看来它们都已失效 至少我找到的那些 原因是 如果用户安装的 Linux 不是英语 他或她的桌面很可能位于除 Desktop 例如 对于瑞典语 我相信它是在 Skrivbord 谁知道
  • 适用于 KDE 和 Gnome 的 Gui [重复]

    这个问题在这里已经有答案了 我想为一个现在是 CLI 的应用程序编写一个 gui 它需要在 KDE 和 Gnome DE 中 看起来不错 充分利用用户的外观设置 如果我选择 Qt 或 GTK 我能够做到这一点吗 它们与两个 DE 集成良好吗
  • C 程序从连接到系统的 USB 设备读取数据

    我正在尝试从连接到系统 USB 端口的 USB 设备 例如随身碟 获取数据 在这里 我可以打开设备文件并读取一些随机原始数据 但我想获取像 minicom teraterm 这样的数据 请让我知道我可以使用哪些方法和库来成功完成此操作以及如
  • Composer 安装要求

    我正在尝试将 Composer 安装到 Laravel 项目中 当我做的时候sudo composer install在项目目录中它显示了两个错误 Problem 1 Installation request for simplesoftw
  • 归档文件系统或格式

    我正在寻找一种文件类型来存储已退役系统的档案 目前 我们主要使用 tar gz 但从 200GB tar gz 存档中查找并提取几个文件是很麻烦的 因为 tar gz 不支持任何类型的随机访问读取规定 在你明白之前 使用 FUSE 安装 t
  • SONAR - 使用 Cobertura 测量代码覆盖率

    我正在使用声纳来测量代码质量 我不知道的一件事是使用 Cobertura 测量代码覆盖率的步骤 我按照以下步骤操作http cobertura sourceforge net anttaskreference html http cober
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • Locale.getDefault() 始终返回 en

    unix 机器上的服务器始终使用 en 作为默认区域设置 以下是区域设置输出 LANG en US LC CTYPE C LC NUMERIC C LC TIME C LC COLLATE C LC MONETARY C LC MESSAG
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • Linux 中的无缓冲 I/O

    我正在写入大量的数据 这些数据数周内都不会再次读取 由于我的程序运行 机器上的可用内存量 显示为 空闲 或 顶部 很快下降 我的内存量应用程序使用量不会增加 其他进程使用的内存量也不会增加 这让我相信内存正在被文件系统缓存消耗 因为我不打算
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp

随机推荐

  • Ajax与Axios的区别

    目录 1 Ajax与Axios的区别 2 mvvm模式下更适合这种数据 3 ajax书写形式 4 axios书写形式 5 vue 中使用的 axios 代码 总结 1 Ajax与Axios的区别 Axios axios 是通过promise
  • 【技巧】Markdown 交叉引用

    注意 csdn 不支持 md 的跳转 可以使用 toc 生成目录 1 Markdown 引用同一个文件的某一标题 title title 使用 选中章节 将大写字母改成小写 去掉括号 等特殊字符 空格用 替代 2 Markdown 引用另一
  • spring框架历史漏洞复现

    目录 一 docker 1 启动docker 2 列出容器 3 关闭容器 4 进入docker 二 CVE 2016 4977 原理 1 登陆 2 访问url 3 构造payload 4 测试 5 反弹shell 6 编码后的命令结合poc
  • An ASIC Low Power Primer by J. bhaskar

    原文链接 https www academia edu 33242660 An ASIC Low Power Primer by J bhaskar Vlsi Design Power Electronics VLSI VLSI and C
  • jacoco简单教程

    问题 2023 06 06 10 45 52 974563 jacoco简单教程 答案 Jacoco是一个Java代码覆盖率工具 可以帮助开发人员了解他们的代码被测试的程度 以下是Jacoco的简单教程 添加Jacoco插件 在项目的bui
  • golang类型转换与类型断言

    类型转换在程序设计中都是不可避免的问题 当然有一些语言将这个过程给模糊了 大多数时候开发者并不需要去关注这方面的问题 但是golang中的类型匹配是很严格的 不同的类型之间通常需要手动转换 编译器不会代你去做这个事 我之所以说通常需要手动转
  • AD设置某个焊盘铺铜连接方式

    AD设置某个焊盘铺铜连接方式 在规则中创建个别焊盘铺铜连接方式 目的 PCB布板时 将表贴焊盘与铺铜连接方式设置为花焊盘 十字连接 将螺钉孔与铺铜连接方式设置为全连接 步骤一 所有焊盘与铜皮默认为十字连接 单独设置螺钉孔与铜皮全连接 步骤二
  • MYSQL相关问题解惑

    MYSQL如何查看默认存储引擎 方式1 使用show engines语句查看系统中所有的存储引擎 Support列的值表示某种引擎是否能使用 YES表示可以使用 NO表示不能使用 DEFAULT表示该引擎为当前默认存储引擎 方式2 也可以使
  • Linux基本操作指令

    Linnux课程框架学习 LINUX 初识阶段 常用操作 常用工具 1 Linux 系统编程阶段 1 gt 进程概念 2 gt 进程控制 3 gt 基础IO 4 gt 进程间通信 5 gt 进程信号 6 gt 多线程 2 LINUX 网络编
  • 魔兽怀旧服联盟服务器不稳定,魔兽世界怀旧服转服服务关闭最后一天,联盟部落新的对抗...

    魔兽世界这款经典了十几年的游戏有好多的话题可聊 不过恒古不变的热门话题中 联盟与部落的对抗永不过时 在经典怀旧服暂停转服服务即将到来的前一天 某知名论坛又出现了单边大服中阵营之争的唇枪舌战 具体是什么原因引起的 暂时还没有本服大佬出面解释
  • 最全的雅思8000词汇pdf_雅思剑桥1-14同义词汇总,屠鸭必备!(含剑14)

    剑14真题出来之后很多烤鸭私聊哥说什么时候有剑14的同义词替换啊 这不 哥这就来分享了 一个合格的雅思考生的词汇量要在7000左右 而在雅思考试中关于词汇的运用最重要的一部分是 同义词替换 同义词的考察贯穿了雅思考试听说读写的每一项 Lis
  • 【unity笔记】OnCollision和OnTrigger方法使用的一个误区【2D】

    最近在做2D游戏 所以经常使用到两个检测碰撞的方法 OnCollisionXX 方法或OnTriggerXX方法 两个方法的使用大致相同 传入的参数略有差别 void OnCollisionEnter2D Collision2D colli
  • 博弈论【算法】

    目录 定义 巴什博弈 减法博弈 威佐夫博弈 定义 博弈论主要研究公式化了的激励结构间的相互作用 是研究具有斗争或竞争性质现象的数学理论和方法 博弈论考虑游戏中的个体的预测行为和实际行为 并研究它们的优化策略 如囚徒困境 链接 在算法竞赛中出
  • 设计模式—单例模式

    文章目录 为什么使用单例模式 实现 预加载 懒加载 懒加载 线程安全 synchronized synchronized volatile 为什么使用单例模式 单例最有代表就是我们耳熟能详的 windows 任务管理器 无论我们创建多少次
  • 记录一下项目踩到的一些坑(不断更新)

    1 HTTPS 问题排查 相信大家PHP在做第三接口或者一些接口调用的时候都会用到curl 在本地部署开发没问题 但是部署到正式服务器的时候就会导致返回一些无知错误 解决方案排查 可以考虑一下是否在curl 的时候做了HTTPS的校验 2
  • Java中为什么要引入泛型

    优点1 没有使用泛型 向list集合中添加非字符串 运行时会报错 类型不匹配 ObjectList java package cn nxl2018 import java util ArrayList import java util Li
  • 解决 : ValidationError: Invalid options object. PostCSS Loader ......

    问题背景 使用 vue cli 5 x 脚手架工具搭建一个初始化项目架子 在 vue config js 里面 配置 移动端 的 适配性插件 postcss pxtorem 的代码时 运行启动项目时报错如下图 Compiled with p
  • openfeign get请求的正确写法

    openfeign 请求get自动变成post 这里试过很多方法都不行 比如 SpringQueryMap 使用如下方法可以方便解决 记录一下方便后人 RequestLine GET api daily param1 param1 para
  • 如何从技术岗位转为管理岗位呢?

    很多做技术的人 做多了几年总是担心自己的职业生涯发展道路 对自己的职业生涯发展缺乏方向和清晰的目标 而且 不少技术岗位的人员都认为技术不能干一辈子 总是希望有更好的机会 然而如何从技术岗位转型为管理岗位呢 这难倒了不少技术岗位的人 毕竟技术
  • X2000 SDK 开发笔记

    SDK编译 1 设置环境变量 在工程目录下执行命令 source build envsetup sh 2 选择 device 在工程目录下执行命令 lunch 根据硬件底板版本选择v10 v20 v30 根据开发板flash默认选择nand