CH583/2构建工程教程

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.rhkb.cn/news/101823.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昨晚做梦面试官问我三色标记算法

本文已收录至GitHub,推荐阅读 👉 Java随想录 微信公众号:Java随想录 原创不易,注重版权。转载请注明原作者和原文链接 文章目录 三色标记算法增量更新原始快照 某天,爪哇星球上,一个普通的房间&#xff0c…

基于Linux操作系统中的shell脚本

目录 前言 一、概述 1、什么是shell? 2、shell脚本的用途有哪些? 3、常见的shell有哪些? 4、学习shell应该从哪几个方面入手? 4.1、表达式 1)变量 2)运算符 4.2、语句 1)条件语句&am…

HIDS-wazuh 的配置和防御

目录 安装wazuh 常用内容 检测sql注入 主动响应 安装wazuh 本地测试的话建议用ova文件,直接导入虚拟机就能用了 官网:Virtual Machine (OVA) - Installation alternatives 常用内容 目录位置:/etc/ossec 配置文件&…

【自动化剧本】Role角色

目录 一、Roles模块1.1roles的目录结构1.2roles 内各目录含义解释1.3在一个 playbook 中使用 roles 的步骤 二、使用Role编写LNMP剧本2.1 搭建Nginx角色2.2搭建Mysql角色2.3搭建php角色2.4lnmp剧本 一、Roles模块 roles用于层次性、结构化地组织playbook。roles能够根据层次型结…

【从零学习python 】75. TCP协议:可靠的面向连接的传输层通信协议

文章目录 TCP协议TCP通信的三个步骤TCP特点TCP与UDP的区别TCP通信模型进阶案例 TCP协议 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议…

Oracle-rolling upgrade升级19c

前言: 本文主要描述Oracle11g升19c rolling upgrade升级测试,通过逻辑DGautoupgrade方式实现rolling upgrade,从而达到在较少停机时间内完成Oracle11g升级到19c的目标 升级介绍: 升级技术: rolling upgrade轮询升级,通过采用跨版…

项目实战笔记2:硬技能(上)

序: 本节串讲了项目管理硬技能,有些术语可以结合书或者网上资料来理解。没有想书上讲的那样一一列举。 做计划 首先强调为什么做计划? 计划就是各个角色协同工作的基准(后面做风险监控、进度的监控),贯穿于…

大数据及软件教学与实验专业实训室建设方案

一 、系统概述 大数据及软件教学与实验大数据及软件教学与实验在现代教育中扮演重要角色,这方面的教学内容涵盖了大数据处理、数据分析、数据可视化和大数据应用等多个方面。以下是大数据及软件教学与实验的一般内容:1. 数据基础知识:教授学生…

【C#学习笔记】匿名函数和lambda表达式

文章目录 匿名函数匿名函数的定义匿名函数作为参数传递匿名函数的缺点 lambda表达式什么是lambda表达式闭包 匿名函数 为什么我们要使用匿名函数?匿名函数存在的意义是为了简化一些函数的定义,特别是那些定义了之后只会被调用一次的函数,与其…

Ribbon:自定义负载均衡

自定义负载均衡算法 package com.kuang.myconfig;import com.netflix.client.config.IClientConfig; import com.netflix.loadbalancer.AbstractLoadBalancerRule; import com.netflix.loadbalancer.ILoadBalancer; import com.netflix.loadbalancer.Server;import java.util.…

STM32f103c6t6/STM32f103c8t6寄存器开发

目录 资料 寻址区 2区 TIMx RTC WWDG IWDG SPI I2S USART I2C USB全速设备寄存器 bxCAN BKP PWR DAC ADC ​编辑 EXTI ​编辑 GPIO AFIO SDIO DMA CRC RCC FSMC USB_OTG ETH(以太网) 7区 配置流程 外部中断 硬件中断 例子 点灯 …

typora的样式的修改

typora首先是一个浏览器, 当我们在typora的设置里面勾选开启调试模式之后, 我们在typora里面右键就会有“检查元素” 这个选项 首先右键 ----》检查元素 将普通字体变颜色 关于Typora修改样式 破解版的typora样式太单调?想让笔记可读性更高…

Numpy学习笔记

科学计算库(Numpy) 通常数据都能转换成矩阵,行就是每一条样本数据,列就是每个字段的特征,Numpy在矩阵运算上非常高效,可以快速处理数据并进行数据计算。 Numpy基本操作 先导入 import numpy as nparray…

计算机网络第3章(数据链路层)

计算机网络第3章(数据链路层) 3.1 数据链路层概述3.1.1 概述3.1.2 数据链路层使用的信道3.1.3 三个重要问题 3.2 封装成帧3.2.1 介绍3.2.2 透明传输3.2.3 总结 3.3 差错检测3.3.1 介绍3.3.2 奇偶校验3.3.3 循环冗余校验CRC(Cyclic Redundancy Check)3.3.…

Python Pandas 处理Excel数据 制图

目录 1、饼状图 2、条形统计图 1、饼状图 import pandas as pd import matplotlib.pyplot as plt import numpy as np #from matplotlib.ticker import MaxNLocator # 解决中文乱码 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[font.sans-serif]Microsoft YaHei …

网络聊天室

一、项目要求 利用UDP协议,实现一套聊天室软件。服务器端记录客户端的地址,客户端发送消息后,服务器群发给各个客户端软件。 问题思考 客户端会不会知道其它客户端地址? UDP客户端不会直接互连,所以不会获知其它客…

计算机网络-物理层(三)编码与调制

计算机网络-物理层(三)编码与调制 在计算机网络中,计算机需要处理和传输用户的文字、图片、音频和视频,它们可以统称为消息 数据是运输信息的实体,计算机只能处理二进制数据,也就是比特0和比特1。计算机中…

【Java 动态数据统计图】动态数据统计思路案例(动态,排序,数组)二(113)

需求&#xff1a; 有一个List<Map<String.Object>>,存储了区域的数据&#xff0c; 数据是根据用户查询条件进行显示的&#xff1b;所以查询的数据是动态的&#xff1b;按区域维度统计每个区域出现的次数&#xff0c;并且按照次数的大小排序&#xff08;升序&#…

科技资讯|荷兰电动自行车丢失将被拒保,苹果Find My可以减少丢失

荷兰最大的自行车协会荷兰皇家旅游俱乐部宣布&#xff0c;将不再为胖胎电动自行车提供保险&#xff0c;因为这种自行车的被盗风险极高。 随着电动自行车的销量飙升&#xff0c;胖胎也变得更受欢迎。但问题是&#xff0c;胖胎电动自行车也成为了自行车盗窃者的首选目标。ANWB …

Android 源码下载(详细版)

经典好文推荐,通过阅读本文,您将收获以下知识点: 一、下载AOSP前的准备 二、国内网络下 clone 清华大学开源软件镜像 三、编写Python脚本,开始下载android-10.0.0_r40 源码 四、源码下载工具包 五、参考文献 一、下载AOSP前的准备 想在国内网络下载AOSP源码,需要电脑配置如…