(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:

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

参考

感谢开源:

相关推荐
CodingCos30 分钟前
【PCIe 总线及设备入门学习专栏 9.1 -- PCIe AER 中的 aer_layer 与 aer_agent】
网络·学习
知识分享小能手34 分钟前
CentOS Stream 9入门学习教程,从入门到精通,CentOS Stream 9 使用 LNMP 架构部署网站 —— 语法详解与实战案例(12)
学习·架构·centos
deephub37 分钟前
机器学习超参数调优:十个实用的贝叶斯优化(Bayesian Optimization)进阶技巧
人工智能·python·深度学习·机器学习·贝叶斯优化
计算机学姐42 分钟前
基于Python的智能点餐系统【2026最新】
开发语言·vue.js·后端·python·mysql·django·flask
ULTRA??43 分钟前
C++两个数组连接类似python的list相加
c++·python
7ioik1 小时前
什么是双亲委派?
开发语言·python
集大周杰伦1 小时前
基于 Python 的 ADS 自动化仿真框架与 API 使用指南
python·自动化·ads 自动化仿真·ads 程控·ads python
崇山峻岭之间1 小时前
C++ Prime Plus 学习笔记037
c++·笔记·学习
傻啦嘿哟1 小时前
Python高效实现Excel与TXT文本文件数据转换指南
开发语言·python·excel