【XR806开发板使用】开发环境搭建、Hello工程以及开发事项

2024-01-06 05:52

本文主要是介绍【XR806开发板使用】开发环境搭建、Hello工程以及开发事项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

XR806开发板试用

很有幸能获得本次技术社区和全志组织的XR806开发板试用活动。之前开发的嵌入式应用都是在Windows平台上进行的,对于Linux下的开发并不熟悉,在社区里看到群友使用官方提供的docker环境进行开发,顺着群友的指导,找到了以下的帖子:
https://aijishu.com/a/1060000000322138
结合帖子中的内容,使用docker中配置好的开发环境入门XR806开发板的使用。

1.1 开发环境搭建

我使用的win10,在win10使用docker进行开发,入门的教程可以参考微软官方提供的docker开发教程;
这里进行简要的说明,首先安装wsl2,具体的教程可以参考微软的官方文档。在“打开或关闭Windows功能”中确定勾选了“Hyper-V”功能。
在这里插入图片描述

如过没有勾选,勾选后win10会自动更新该功能,重新启动系统后生效。在管理员模式下打开 PowerShell 或 Windows 命令提示符,方法是右键单击并选择“以管理员身份运行”,输入 wsl --install 命令,然后重启计算机。
通过在 PowerShell 或 Windows 命令提示符中输入以下命令来检查每个发行版的 WSL 版本:wsl -l -v。官方推荐使用wsl2,不过使用wsl –install默认安装的便是wsl2。
接下来参考微软的官方手册安装Docker Desktop for Windows,首先下载Docker Desktop,安装过程使用默认配置即可。安装后,启动Docker Desktop,然然后从任务栏的隐藏图标菜单中选择 Docker 图标。 右键单击该图标以显示 Docker 命令菜单,然后选择“设置”。
在这里插入图片描述
在这里插入图片描述

确保在“设置”>“常规”中选中“使用基于 WSL 2 的引擎”。
在这里插入图片描述

完成上述步骤后,可以在Windows PowerShell中运行以下指令在本地创建一个集成了FreeRTOS的XR806开发环境的容器:
docker run -it verdureorange/ubuntu_xr806:v2 /bin/bash
在这里插入图片描述

该环境中没有集成vim,可以通过以下指令安装vim
apt install vim

当退出容器开发环境后,重新进入时,使用docker start和dcoker attach指令,指令的参数中需要指定容器的ID,查看容器的ID使用docker ps指令。具体的操作如下图所示
在这里插入图片描述

到这一步,使用docker开发XR806的开发环境就搭建完毕了。

1.2 hello_demo编译和烧写

在xr806_sdk的project中有很多官方提供的demo程序,可供用户学习如何开发。在命令行中输入下列指令进入到SDK的顶层文件夹,
cd /root/xr806_sdk
执行下列指令,打卡工程配置界面,根据工程的需要开启相应的功能模块
make menuconfig
在这里插入图片描述

修改完成后,保存并退出。
在这里插入图片描述

在命令行中输入下列指令进入hello_demo的gcc文件夹,并执行make指令,完成工程的编译。编译完成后,使用make image指令生成镜像文件,用于固件的烧录。
在这里插入图片描述

生成的镜像文件可以在xr806_sdk/out中找到,名称为xr_system.img。使用Docker Desktop查看Container中的文件可以将其中的镜像文件存储到win10的文件夹中。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

复制到win10的文件夹中后,使用xr806_sdk文件夹下的tool中的phoenixMC.exe将程序固件烧录到芯片当中。选择复制出来的xr_system.img。点击“升级固件”将固件烧录到芯片中。
在这里插入图片描述

使用串口调试助手连接到开发板,使用复位按键复位芯片后,可以在串口调试助手输出窗口中看到以下的输出信息。
在这里插入图片描述

1.3 总结

第一次使用docker环境开发嵌入式应用,在有社区大佬的帮助下,开发过程还是很顺利的,初步学会了如何使用docker编译和生成固件,以及将固件复制到win10中,使用全志提供的固件升级工具完成固件的烧写。

这篇关于【XR806开发板使用】开发环境搭建、Hello工程以及开发事项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/575391

相关文章

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

Spring Boot 中正确地在异步线程中使用 HttpServletRequest的方法

《SpringBoot中正确地在异步线程中使用HttpServletRequest的方法》文章讨论了在SpringBoot中如何在异步线程中正确使用HttpServletRequest的问题,... 目录前言一、问题的来源:为什么异步线程中无法访问 HttpServletRequest?1. 请求上下文与线

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服