CH583/2构建工程教程

news2024/10/7 4:34:31

CH583/2构建工程教程

  • 绪论
  • 资源
  • 移植步骤
    • 准备
    • 移植
      • 步骤一
      • 步骤二
    • 工程配置
      • 修改工程名
        • 修改前
        • 修改后
      • 工程配置
        • 修改资源文件
      • 修改C/C++ general
      • 修改C/C++构建
        • 修改汇编交叉编译
        • 修改C交叉编译
        • 修改GNU RISC-V Cross Linker
      • 修改跟编译
    • 移植注意事项

绪论

资源

CH583/2的SDK下载

移植步骤

准备

以CH583的BLE_UART程序ble_demo为模板创建自己的工程。
1.新建一个属于自己的工程ble_demo,工程名没有要求(可根据自己项目或者自己喜好来,非中文名即可)。本次移植教程以demo命名。
2.本次以CH583EVT\EVT\EXAM\BLE\BLE_UART下的“BLE_UART”工程为模板做移植。
3. 移植相关资源文件
(1)工程依赖的资源有CH583EVT\EVT\EXAM\SRC下Ld、RVMSIS、Startup、StdPeriphDriver文件夹资源;
(2)工程依赖的资源有CH583EVT\EVT\EXAM\BLE\HAL下的文件夹资源;
(3)工程依赖的资源有CH583EVT\EVT\EXAM\BLE\LIB下的文件夹资源;
(4)工程依赖的资源有CH583EVT\EVT\EXAM\BLE\BLE_UART下的文件夹资源;

移植

步骤一

将CH583EVT\EVT\EXAM\BLE\BLE_UART下的所有文件复制到ble_demo文件夹下
在这里插入图片描述

步骤二

将CH583EVT\EVT\EXAM\SRC下的所有文件复制到ble_demo文件夹### 步骤三
将CH583EVT\EVT\EXAM\BLE\HAL下的所有文件复制到ble_demo文件夹下### 步骤四
将CH583EVT\EVT\EXAM\BLE\LIB下的所有文件复制到ble_demo文件夹下

在这里插入图片描述

看到如上图目录结构后,表示工程文件准备完成,剩下就需要进行工程配置。

工程配置

双击“BLE_UART.wvproj”打开工程,进行工程配置。

修改工程名

第一步,点击工程右键找到修改工程名,将工程名改为“ble_demo”,方便我们移植(这一步非必须也可以不修改)。

修改前

在这里插入图片描述

修改后

在这里插入图片描述

工程配置

选中工程名右键单击找到属性选项点击进入,进去后如下:
在这里插入图片描述

修改资源文件

对链接的资源文件进行删除。
(1)删除前
在这里插入图片描述
(2)删除后

在这里插入图片描述

修改C/C++ general

打开路径和符号找到资源位置,将相关文件夹文件路径删除一遍。
(1)删除前
在这里插入图片描述
(2)删除后
在这里插入图片描述

修改C/C++构建

打开设置进入工具设置,如下图。
在这里插入图片描述
下面进行详细配置。

修改汇编交叉编译

修改路径到正确的位置。
(1)修改前
在这里插入图片描述

(2)修改后
在这里插入图片描述

修改C交叉编译

找到右上角的“+”,修改路径到正确的位置。
(1)修改前
在这里插入图片描述

(2)清除干净
删除掉原本的路径
在这里插入图片描述

(3)修改后
将工程下的路径全部引入进来。
在这里插入图片描述

修改GNU RISC-V Cross Linker

(1)更新general
更新Link.ld文件的路径,更新后如图(根据自己放置位置选定即可):
在这里插入图片描述
(2) Librariles
更新LIB、StdPeriphDriver到工程下的正确路径。
更改前:
在这里插入图片描述
更改后:
在这里插入图片描述
到这一步后点击应用跟关闭即可。

修改跟编译

(1)回到工程,进项编译后提示如下错误.
这个过程不是所有工程都会出现报错,如果编译通过则说明文件没有问题。这里报错是因为程序在这复用,我们直接将其排除不参与编辑即可。
在这里插入图片描述
(2)打开SDK的demo对比
在这里插入图片描述
(3)选择不需要参与编译的文件,点击右键选择排除编译,修改后如图。
在这里插入图片描述
(4)重新进行工程编译
重现编译后,可以看到工程可以正常编译了。
在这里插入图片描述
(5) 其他
打开工程hal部分开开,跟原工程对吧,有需要排除编译的可以做排除编译。

移植注意事项

(1)当遇到找不到头文件或者路径提示时,说明路径没有引入完全,找到对象文件夹重新引入即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/916213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2025款EQC路测照曝光:外观更紧凑,动力更强,与宝马iX3正面竞争

据国外汽车媒体Auto Express近日发布的报道,梅赛德斯的EQC Mk2纯电动汽车在进行路测时被拍下了照片。 EQC车型相比于EQA和EQB更为紧凑,而与EQE和EQS相比则更为宽敞,这使得该车型在市场推出后与宝马iX 3和奥迪即将推出的Q6 E-tron进行了正面竞…

数据结构——队列(C语言)

需求:无 本篇文章将解决一下几个问题: 队列是什么?如何实现一个队列?什么场景下会用队列? 队列的概念: 队列:一种只允许一端进行插入数据操作,在另一端进行删除操作的特殊线性表。…

AI大模型算力的估计方法

估计大型模型所需的算力是一个复杂的过程,涉及许多因素,如模型的大小、训练数据量、训练批次大小、训练轮数等。以下是一些常见的方法和指导来估计大型模型所需的算力,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外…

java-线程相关知识二

1. 线程基本方法 线程相关的基本方法有 wait,notify,notifyAll,sleep,join,yield 等。 1.1. 线程等待(wait) 调用该方法的线程进入 WAITING 状态,只有等待另外线程的通知或被中断…

IDEA配置文件乱码

一、问题描述 导入项目后,发现配置文件乱码了,但是程序运行还能正常使用。 不过,配置文件乱码,对代码开发还是很有阻碍。还是需要去解决。 二、解决方案 在Idea中设置默认编码方式,可以保证新建的文件使用正确的编码…

制图成本降低80%,百度如何打造轻地图?

作者|HiEV 编辑|张祥威 编者注: 本文是HiEV出品的系列直播「智驾地图之变」第一期问答环节内容整理。百度智驾地图业务部主任架构师万聪与连线嘉宾鉴智机器人技术副总裁潘屹峰、领骏科技研发副总裁严晗、主持嘉宾周琳展开深度交流,并进行了答疑。 本期…

安装docker服务,配置镜像加速器

文章目录 1.安装docker服务,配置镜像加速器2.下载系统镜像(Ubuntu、 centos)3.基于下载的镜像创建两个容器 (容器名一个为自己名字全拼,一个为首名字字母)4.容器的启动、 停止及重启操作5.怎么查看正在运行…

亿邦智库《2023数字化采购发展报告》解读,企企通推动企业采购数字化及供应链协同智能化发展

采购成本是企业成本控制的主体和核心。在当前供应链的背景下,采购数字化一方面可以通过提高效率来降低成本,增强合作和风险缓解能力;另一方面,信息、物流和资本流动的整合和重建将提高供应链的灵活性和灵活性,增强面向…

Spring Framework核心模块

core Spring Core是Spring框架的基础API核心模块,提供了基本的IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)功能。 core核心功能举例 资源管理-系统资源加载 Fi…

Qwen-7B微调实例

Qwen-SFT 阿里通义千问(Qwen-7B-Chat/Qwen-7B), 微调/LORA/推理 踩坑 1. tokenizer.encode输出(不会新增特殊字符), 为 [真实文本tokens]: 2. chat-PROMPT: <|im_start|>system\nYou are a helpful assistant.<|im_end|>\n<|im_start|>user\n你好<|im…

vue3移动h5调试插件

下载插件 pnpm i vconsole代码部分 main.ts中加入如下代码 import VConsole from vconsole;const isPc () > {const userAgentInfo navigator.userAgent;const Agents ["Android", "iPhone","SymbianOS", "Windows Phone",&q…

数据结构与算法:通往编程高地的必修课(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

行为型(十一) - 中介模式

一、概念 中介模式&#xff08;Mediator Pattern&#xff09;&#xff1a;中介模式定义了一个单独的&#xff08;中介&#xff09;对象&#xff0c;来封装一组对象之间的交互。将这组对象之间的交互委派给与中介对象交互&#xff0c;来避免对象之间的直接交互。 二、实现 借…

生信豆芽菜-缺氧评分的计算

网址&#xff1a;http://www.sxdyc.com/gradeHypoxia 1、数据准备 表达谱数据&#xff0c;行为基因&#xff0c;列为样本 2、提交后&#xff0c;等待运行成功即可下载 当然&#xff0c;如果不清楚数据是什么样的&#xff0c;可以选择下载我们的示例数据&#xff0c;也可以…

VBA Excel函数的使用

一个简单的教程&#xff0c;实现VBA自定义函数。 新建模块 复制后面的代码放进来 函数的入口参数不定义&#xff0c;则认为是一块区域&#xff1b; 反之&#xff0c;如FindChar1 As String&#xff0c;则认为是输入的单值。 循环和分支如下例子&#xff0c;VB比较接近自然语…

纯手写Tomcat,看不懂你来揍我【附源码、图文详解】

源码放在了文章末尾 理论知识 何为Tomcat Tomcat是一个开源的Servlet容器&#xff0c;它实现了Java Servlet、JavaServer Pages (JSP)、WebSocket等Java EE规范&#xff0c;用于在Web服务器上运行Java Web应用程序。 说的简单点&#xff0c;Tomcat能处理网络传输来的请求。 …

Linux内核提权漏洞

Linux内核提权漏洞 漏洞名称&#xff1a;脏牛&#xff08;Dirty COW&#xff09;CVE-2016-5195 漏洞危害&#xff1a;低权限用户利用该漏洞技术可以在全版本 Linux 系统上实现本地提权 影响范围&#xff1a;Linux 内核2.6.22 < 3.9 (x86/x64) 攻击机&#xff1a;Kali Linu…

Vmware 虚拟机挂起恢复后发现无法 Ping 通,无法连接到主机

解决办法 进入对应主机中&#xff0c;切换到 root 账户&#xff0c;重启网络服务。 systemctl stop NetworkManager systemctl restart network在网上还找到了另一种解决方法&#xff1a; 在网卡配置文件中增加参数 NM_CONTROLLED"no"。 在 Centos 7 中修改如下所…

Elasticsearch配置优化

以下的优化基础是安装的 Elasticsearch 版本为 7.17.7&#xff0c;同时jdk版本为 1.8.321 1、jvm参数优化 这里说的jvm参数调优&#xff0c;是指elasticsearch安装目录下的jvm.options配置&#xff0c;如下图所示&#xff1a; 这里调整的内容主要是调整垃圾回收的收集器&#…

打造引人注目的直播体验:直播美颜SDK的集成与优化

随着移动互联网的迅速发展&#xff0c;视频直播已经成为人们交流、娱乐和信息传递的重要方式。在这个多元化的直播市场中&#xff0c;吸引观众的注意力变得尤为重要。其中&#xff0c;美颜技术在增强直播体验方面发挥着关键作用。直播美颜SDK的集成和优化使得主播能够以最佳状态…