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

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

参考

感谢开源:

相关推荐
Nan_Shu_6142 分钟前
学习: 尚硅谷Java项目之尚庭公寓(2)
学习
好奇龙猫24 分钟前
【人工智能学习-AI入试相关题目练习-第九次】
人工智能·学习
抠头专注python环境配置33 分钟前
基于Python与深度学习的智能垃圾分类系统设计与实现
pytorch·python·深度学习·分类·垃圾分类·vgg·densenet
愈努力俞幸运1 小时前
flask 入门 token, headers,cookie
后端·python·flask
zhangrelay1 小时前
影响移动固态磁盘稳定性的原因有哪些呢?
笔记·学习
梦想是成为算法高手1 小时前
带你从入门到精通——知识图谱(一. 知识图谱入门)
人工智能·pytorch·python·深度学习·神经网络·知识图谱
用什么都重名1 小时前
Conda 虚拟环境安装配置路径详解
windows·python·conda
阿也在北京1 小时前
基于Neo4j和TuGraph的知识图谱与问答系统搭建——胡歌的导演演员人际圈
python·阿里云·知识图谱·neo4j
计算机徐师兄1 小时前
Python基于知识图谱的胆囊炎医疗问答系统(附源码,文档说明)
python·知识图谱·胆囊炎医疗问答系统·python胆囊炎医疗问答系统·知识图谱的胆囊炎医疗问答系统·python知识图谱·医疗问答系统