(HaloOS 基于TC397学习笔记)一、环境搭建到编译demo成功

HaloOS 基于TC397学习笔记


文章目录

  • [HaloOS 基于TC397学习笔记](#HaloOS 基于TC397学习笔记)
  • 前言
  • 一、Python、Git和工程下载
    • [1. 安装Python 3.8.10](#1. 安装Python 3.8.10)
    • [2. 安装git repo工具](#2. 安装git repo工具)
    • [3. 下载代码](#3. 下载代码)
  • 二、编译环境搭建
    • [1. 安装VCOS Studio配置工具依赖插件](#1. 安装VCOS Studio配置工具依赖插件)
    • [2. 安装VCOS Studio配置工具依赖插件](#2. 安装VCOS Studio配置工具依赖插件)
    • [2. 下载TC397驱动](#2. 下载TC397驱动)
  • 三、Demo编译
    • [1. 查看TC397支持的demo](#1. 查看TC397支持的demo)
    • [2. 把默认E3650的demo改为TC397开发板](#2. 把默认E3650的demo改为TC397开发板)
    • [3. 查看编译生成的文件,烧写elf](#3. 查看编译生成的文件,烧写elf)
  • 参考

前言

想学习一下DDS协议栈在TC397上的部署和应用,看到理想的星环OS做了DDS协议栈的裁剪:

  • 星环OS通信中间件基于车载场景实现定制化的DDS通信协议,实现面向 MCU 的轻量化设计

刚好又在gitee上开源了,所以花了一下午时间部署了一下环境,虽然官网文档已经写得很详细了,但是有些内容也比较分散或者已经过期没有更新(比如TC397 illd库的安装部分),所以我简单记录下我自己的部署过程。

本文只针对TC397和Windos,删减掉了E3芯片和Linux的部分。

https://gitee.com/haloos/docs/tree/master


一、Python、Git和工程下载

1. 安装Python 3.8.10

我是用的anaconda管理的python版本,下载链接如下:

下载完成后一般会有一个base的环境,

需要安装一个与HaloOS相同的python版本:

创建虚拟环境:

bash 复制代码
conda create -n py38_10_HaloOS python=3.8.10
  • python3.8安装过程中间会出现Proceed(y/n)?
    需要输入一个y,然后按回车键

激活虚拟环境:

bash 复制代码
conda activate py38_10_HaloOS 

前面显示环境名称说明创建成功:

直接打开Powershell的话,也可以执行这一条

bash 复制代码
conda activate py38_10_HaloOS 

2. 安装git repo工具

这里参考原文:

(1)安装Git:

https://git-scm.com/install/windows

(2)添加环境路径

  • 找到Git所在的安装路径,添加\usr\bin后就是patch.exe所在路径(例如:C:\Program Files\Git\usr\bin)
  • 按 Win + S 搜索 "环境变量" → 选择 "编辑系统环境变量"
  • 在 "用户变量" 中找到 Path → 点击 "编辑" → "新建" → 添加上述patch路径 → 保存
    用管理员权限重启PowerShell,执行patch --version,输出版本号即表示安装成功
    git repo的安装流程如下:

(3)下载 git repo 工具并解压

  • Windows 32 位版本点此下载

  • Windows 64 位版本点此下载

  • 将解压后的git-repo.exe拷贝到git安装目录cmd路径下(如C:\Program Files\Git\cmd,注意该路径安装git时已经添加进环境变量,如果没有添加,需要执行以下步骤3~5)

  • 按 Win + S 搜索 "环境变量" → 选择 "编辑系统环境变量"

  • 在 "用户变量" 中找到 Path → 点击 "编辑" → "新建" → 添加上述cmd路径 → 保存

  • 重启 PowerShell 并运行以下命令,如果显示版本号即安装成功

bash 复制代码
git --version # 应输出版本信息  
git-repo --version  # 应输出版本信息  

3. 下载代码

(1)生成/添加ssh密钥,请按gitee ssh密钥添加流程(如果没有gitee帐号可能需要先注册)

(2)配置Git:

bash 复制代码
git config --global user.name "替换为您的名字"
git config --global user.email "替换为您的邮箱"

(3)切换到您存放代码的目录下,运行如下脚本下载代码(我放在了D:\04Code\python下)

bash 复制代码
cd D:\04Code\python # 把当前目录切换到D:\04Code\python
mkdir haloosspace	# 新建haloosspace文件夹
cd haloosspace	# 进入haloosspace文件夹
rm -r ./.repo/  # 如此前有同步失败,需要先删除原有.repo目录;如果没有.repo目录,可以忽略此步骤
git-repo init -u git@gitee.com:haloos/manifests.git -b master -m default.xml
git-repo sync

网络不好的时候git-repo这两行命令很容易报错,很多公司的网络也屏蔽22端口导致拉取失败,需要注意。

sync同步到最后还是有个Error,暂时没发现有什么影响。

bash 复制代码
Updating files: 100% (23327/23327), done.
Note: switching to '62072a67095c81d34b7a62697d4543cd1176296e'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 62072a67 update .gitignore
Error: exit status 1
(py38_10_HaloOS) PS D:\04Code\python\haloosspace> 

二、编译环境搭建

1. 安装VCOS Studio配置工具依赖插件

在根目录haloosspace下,执行以下命令(管理员权限、python3.8.10环境)

bash 复制代码
python ./vcos/vcos_studio/configurator/init_env.py -a

2. 安装VCOS Studio配置工具依赖插件

在根目录haloosspace下,执行以下命令(管理员权限、python3.8.10环境)

bash 复制代码
python ./build/haloos_compiling_env.py

这一行指令会安装7z、CMake、Ninja、Make、Tricore GCC、ARM GCC和一些Python的依赖,并把这些工具添加到环境变量里,我当时有一些安装失败了,但是会提示自己手动如何安装,有一些是在gitee库里,可以按照失败的指引自己手动装。

2. 下载TC397驱动

这里说实话官方的指导有点问题,ADS这个软件后面有过更新,生成iLLD驱动库删减了一些.c .h,并且文件夹的命名也有更改,代码编译过程中会出现各种头文件路径找不到等报错:

https://gitee.com/haloos/vcos/blob/master/quick_start/01_downloading.md

Gitee issue中有人提到过这个问题,https://gitee.com/haloos/vcos/issues/ID6DOS?from=project-issue

可以用评论区的这个文件直接下载:

下载完成后,把tc397文件夹放在drivers下:

  • haloosspace\vcos\vendor\infineon\drivers

三、Demo编译

1. 查看TC397支持的demo

官网文档提供了这几个demo:

每个demo也有各自的说明书(我暂时还没看,先编译成功再说):

2. 把默认E3650的demo改为TC397开发板

改一下json文件就可以:

进入build文件夹:

bash 复制代码
cd D:\04Code\python\haloosspace\build	# 根据自己的路径修改

编译rt_demo:

bash 复制代码
python haloos_build.py -app_name rt_demo

编译isolate_demo:

bash 复制代码
python haloos_build.py -app_name isolate_demo

编译mempool_demo:

bash 复制代码
python haloos_build.py -app_name mempool_demo

vbslite_demo目前编译有问题:


编译过程有时候会提前结束并提示:

bash 复制代码
Kconfig environment depends on kconfiglib, Please install:
$ pip install kconfiglib
-- Configuring incomplete, errors occurred!                

就直接pip这个kconfiglib的库就可以了

3. 查看编译生成的文件,烧写elf

编译的过程文件都在output目录下:

每个项目都可以找到自己的elf:

最后用自己的调试器烧写即可。

参考

感谢开源:

相关推荐
User_芊芊君子5 分钟前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
简佐义的博客15 分钟前
生信入门进阶指南:学习顶级实验室多组学整合方案,构建肾脏细胞空间分子图谱
人工智能·学习
白日做梦Q16 分钟前
Anchor-free检测器全解析:CenterNet vs FCOS
python·深度学习·神经网络·目标检测·机器学习
近津薪荼17 分钟前
dfs专题4——二叉树的深搜(验证二叉搜索树)
c++·学习·算法·深度优先
喵手30 分钟前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv
喵手37 分钟前
Python爬虫实战:地图 POI + 行政区反查实战 - 商圈热力数据准备完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·地区poi·行政区反查·商圈热力数据采集
熊猫_豆豆43 分钟前
YOLOP车道检测
人工智能·python·算法
rannn_11143 分钟前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
nimadan1244 分钟前
**热门短剧小说扫榜工具2025推荐,精准捕捉爆款趋势与流量
人工智能·python
默默前行的虫虫1 小时前
MQTT.fx实际操作
python