STM32F103V跑NuttX之一——下载nuttX及编译烧录

2023-05-16

下载nuttX及编译

  • 1、NuttX官方链接
  • 2、NuttX及App工程下载
  • 3、编译NuttX中STM32F103V nsh测试例程
  • 4、在ubuntu下使用串口来烧录目标文件至STM32F103V
    • 4.1、ubuntu下stm32flash工具下载
    • 4.2、ubuntu下stm32flash工具编译及编译错误解决
  • 5、烧录nuttx.bin至STM32目标板
  • 6、重新启动系统进入NuttX shell模式

1、NuttX官方链接

官方门户:https://nuttx.apache.org/
官方wiki:https://cwiki.apache.org/confluence/display/NUTTX/NuttX
gitHub:https://github.com/apache/incubator-nuttx

2、NuttX及App工程下载

运行如下命令创建工程目录:

mkdir nuttx

进入到上面新创建的目录下,执行如下命令下载NuttX及App工程:

git clone https://github.com/apache/incubator-nuttx.git nuttx
git clone https://github.com/apache/incubator-nuttx-apps.git apps

下载完成之后得到如下两个工程目录:
在这里插入图片描述

3、编译NuttX中STM32F103V nsh测试例程

运行如下命令配置测试例程:

cd nuttx
tools/configure.sh -l stm32f103-minimum:nsh

将看开始配置例程相关环境:
在这里插入图片描述配置完成之后输入如下命令开始编译:

make -j4

注:这里-j4是同时允许4个make任务并行编译,以加快编译时间
编译完成之后将看到如下提示:
在这里插入图片描述在nuttx目录已经生成了相应的目标文件:nuttx.bin了。
下面我们来看看如何在ubuntu环境下来烧录这个目录文件至STM32F103V目标板。

4、在ubuntu下使用串口来烧录目标文件至STM32F103V

4.1、ubuntu下stm32flash工具下载

要想使用串口来烧录STM32,先得下载一个stm32flash的工具,工具的源代码地址及下载方法如下:
gitHub地址:https://github.com/ARMinARM/stm32flash

git clone https://github.com/ARMinARM/stm32flash.git

下载完成之后将得到一个stm32flash的工程目录。

4.2、ubuntu下stm32flash工具编译及编译错误解决

进入到stm32flash目录下执行如下命令进行编译:

make -j4

得到如下错误:
在这里插入图片描述在i2c.c这个文件中增加如下内容:
在这里插入图片描述
重新执行编译即可成功。
在这里插入图片描述执行如下命令安装stm32flash:

sudo make install

至此串口烧录工具stm32flash安装成功。
在这里插入图片描述

5、烧录nuttx.bin至STM32目标板

首先把stm32的boot0脚拉高,boot1脚置低,让STM32进入系统程序烧录模式
STM32 三种启动模式对应的存储介质均是芯片内置的,它们是:
用户闪存: BOOT1=x BOOT0=0 芯片内置的Flash,即主存储器Flash
SRAM: BOOT1=1 BOOT0=1 芯片内置的SRAM 区,就是内存啦。
系统存储器: BOOT1=0 BOOT0=1 芯片内部一块特定的区域,叫做系统存储器。

执行如下命令测试STM32状态:

sudo stm32flash /dev/ttyUSB0

正常情况下会得到如下信息:
在这里插入图片描述如何出现如下信息,请按复位键重试一次:
在这里插入图片描述
执行如下命令烧录目标文件:

sudo stm32flash -w nuttx.bin -v -g 0 /dev/ttyUSB0

正常情况下得到如下信息,说明烧录成功。
在这里插入图片描述如果出现Failed to init deivce.的信息,请按复位键再重新执行一次上面的烧录命令。

6、重新启动系统进入NuttX shell模式

将BOOT0及BOOT1全部置为0,然后重新上电,运行如下命令通过串口登录STM32,将会得到如下命令,说明NuttX成功在STM32F103上运行起来了!

sudo minicom -D /dev/ttyUSB0

注:没有安装minicom请事先执行命令sudo apt install minicom进行安装
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32F103V跑NuttX之一——下载nuttX及编译烧录 的相关文章

  • 【Python】绘制双Y轴折线与散点图

    span class token keyword import span matplotlib span class token punctuation span pyplot span class token keyword as spa
  • 【World】插入公式

    1创建样式 公式 2调整段落格式 行间距最小值 xff1a 防止公式显示不全 3根据纸张制作制表符 公式20字符左右 xff0c 居中对齐 标号40字符左右 xff0c 右对齐 确定 4在需要公式的一行 xff0c 点击创建的样式 xff0
  • 【Python】matplotlib替代cv画虚线矩形框

    span class token keyword import span cv2 span class token keyword as span cv span class token keyword import span matplo
  • 【造轮子】最小权完备匹配算法

    1 C 43 43 编程方法 矩阵方法 span class token macro property span class token directive hash span span class token directive keyw
  • 【LeetCode】两数之和

    1 两数之和 1 My solution span class token keyword class span span class token class name Solution span span class token punc
  • 【LeetCode】两数相加

    1 主要是链表先创建下一个对象 xff0c 再转移 xff0c 而不是先转移到空指针再赋值 t span class token operator 61 span span class token keyword new span span
  • 【算法】kalman运动状态估计不准确的思考

    前言 在仿真实验多目标跟踪时 xff0c 我采用了Kalman做跟踪 xff0c 在运动状态估计时位置可以很 准确 的估计 xff0c 但是速度与方向就偏差很大 xff0c 最近看到了一篇文献详细的介绍了原因 xff0c 之前考虑到时间间隔
  • 【LeetCode】无重复字符的最长子串

    尝试1 思路清晰但是耗时 span class token keyword class span span class token class name Solution span span class token punctuation
  • 【C++】vector释放内存之swap方法

    C 43 43 vector 容器浅析 在容器vector中 xff0c 其内存占用的空间是只增不减的 xff0c 比如说首先分配了10 000个字节 xff0c 然后erase掉后面9 999个 xff0c 则虽然有效元素只有一个 xff
  • Linux解决Tab键无法自动补全

    Linux解决Tab键无法自动补全的问题 安装bash completion包 这个包提供Tab键自动补全功能 yum install span class token operator span y bash span class tok
  • 【工具】Github Copilot感想

    前言 昨天是周五 xff0c 本想周末休息一下 xff0c 突然刷到Github Copilot X要发布 xff0c 看完挺期待 xff0c 就好奇搜了一下 xff0c 发现两年前Github Copilot发布了 xff0c 当时我在想
  • 【工具】pip安装不在当前虚拟环境中

    查看pip V与pip3 V是否只向当前虚拟环境如果没有需要手动指定 在安装ultralytics 61 61 8 0 20 时一直找不到包 xff0c 使用最新python 61 3 9 13就好了 使用 xff1a pip V pip
  • 【论文复现】AB3DMOT: A Baseline for 3D Multi-Object Tracking and New Evaluation Metrics

    1 前言 AB3MOT是经典的3D多目标跟踪框架 xff0c 将2D卡尔曼推广到了3D 并将2D IOU匹配推广到了3D 由于论文的原理基本上与2D相同所以作者在文中没有叙述很多细节 xff0c 要理解具体实现细节 xff0c 只能看代码
  • 【LeetCode】代码随想录之数组

    代码随想录 数组理论基础 C 43 43 的数组在内存空间中是连续的 xff0c 但有区别与Vector与Array xff0c Vector是一个容器 xff0c 它的底层实现为数组 其中二维数组的内存空间也是连续的 xff0c C 43
  • 【算法】AB3DMOT之Sutherland Hodgman多边形裁剪

    在AB3MOT模型中有一个步骤为计算IOU时 xff0c 需要先计算两个立体在地面的投影2D形状 xff0c 然后计算两个投影的重叠部分 xff0c 实际上为多边形的裁剪算法 AB3MOT span class token decorato
  • 【英语】学习记录——5/10

    1 美剧 英雄联盟 xff1a 双城之战 第一季 硅谷 第一季 硅谷 第二季 硅谷 第三季 第五集 2 书籍 书籍阅读工具ReadPaper Thinking Fast and Slow by psychologist Daniel Kah
  • 【Python】画折线图在坐标轴上的点遮挡与去除冗余网格问题

    1 代码 span class token keyword import span numpy span class token keyword as span np span class token keyword import span
  • 【Python】可视化KITTI激光雷达点云&绘制立体框

    更新2023 5 4不如open3d好用 xff0c 依赖太多 xff0c 已转用open3d库 前言 最近在复现PointRCNN论文过程中发现没有可视化代码 xff0c 于是查找资料找到了 xff1a pointRCNN 结果可视化 t
  • 【Python】PointRCNN在线可视化点云与图像

    前言 花了一周多的时间对PointRCNN进行了模型的阅读与复现 xff0c 发现代码没有可视化程序 xff0c 并且开源的可视化程序 xff0c 也是离线的 xff0c 将检测的结果 xff0c 一帧一帧保存并拼接成视频 xff0c 很难
  • MindSpore中张量和Numpy的互相转换

    NumPy 是 Python 语言的一个扩展程序库 支持大量的维度数组与矩阵运算 此外也针对数组运算提供大量的数学函数库 所以下面展示下MindSpore中张量和Numpy类型的互相转换 张量转换为NumPy zeros 61 ops Ze

随机推荐

  • 云安全-Python实现凯撒密码和替换密码的加密解密与暴力破解

    记录顺带保存一次课堂作业 xff0c 部分参考了现有的实现 xff0c 结合需求进行了一波码 xff0c 能用就行 xff0c 人和代码能跑一个就好 xff0c 替换密码暴力破解实在懒得搞了 xff0c 或许以后会更 xff1f span
  • Windows下编程需要看哪些书

    Windows 下编程需要看哪些书 本人是自学计算机的 xff0c 所有计算机方面的知识都看 xff0c 研究过一段时间网络 xff0c 对计算机网络方面有一定的基础 xff0c 对程序设计尤感兴趣 xff0c 个人认为学习 Windows
  • 找工作经验贴----转自cc98 (作者ID:qzz88 ) 仅为收藏,感谢原作者的经验分享

    原帖地址 xff1a http www cc98 org dispbbs asp BoardID 61 248 amp id 61 3813130 amp page 61 amp replyID 61 3813130 amp star 61
  • QGC、PX4和AirSim的安装

    本教程视频地址 xff1a https www bilibili com video BV1dv411K71E 本教程将讲解QGC地面站的安装 PX4控制系统 xff08 包括jMAVSim ROS和Gazebo xff09 的安装 Air
  • Ominibus F4V3 Pro飞控原理图和接线图

    Ominibus F4V3 Pro飞控接线图如下图所示 部分实物接线图如下 注意上图中 xff0c 电流计入口 描述是错误的 xff0c 最形象的是第一个接线图 xff0c 那里表的很清楚 电源这块接线为电池接线到飞控板上的电池 43 和电
  • Mini Crossbow AAT自动跟踪云台设置(配合TeleFlyTiny模块)

    飞行器在空中 xff0c 位置和方位时刻变化 xff0c 而我们使用的图传接收机 xff0c 需要时刻保持跟随飞行器材能捕获较好的图像 xff0c 靠人去调整地面天线角度是不太合适的 xff0c 所以我们可以使用AAT自动跟踪云台来完成调整
  • Mission Planner安卓安装包

    可以在安卓手机上安装并使用的安装包 下载地址 xff1a https download csdn net download xjhappyarrow 22864716 spm 61 1001 2014 3001 5503
  • Docker 相关配置文件路径

    配置文件参数 xff1a 1 优先解析在config file命令行参数 2 在root模式下 Docker Daemon 默认配置文件路径 etc docker daemon json 3 在rootless模式下 默认配置文件路径在 d
  • 1. 【gRPC系列学习】 gRPC起源、优缺点

    gRPC是一项进程间通信技术 xff0c 可以用来连接 调用 操作 调试分布式异构应用程序 xff0c 就像调用本地函数一样 gRPC主要采用同步的请求 响应进行通信 xff0c 但建立连接后 xff0c 它可以完全以异步模式进行操作 1
  • stlink灯一直闪

    灯闪说明stlink工作不正常 原因可能是 xff1a 1 stlink供电不足 试着用外部电源和stlink同时给板子供电 2 电脑的USB口硬件 xff08 USB口烧了 xff0c 但可能性比较少 xff09 或USB相关驱动有问题
  • stlink使用笔记

    1 stlink灯一直闪 2 当用外部电源 xff08 外部 就是不直接使用stlink为板子供电 xff09 为板子供电时 xff0c 如果要用stlink xff08 SWD模式 xff09 xff0c 那么不能只插SWCLK和SWDI
  • 先电OpenStack创建云主机报错500

    现象 xff1a 从报错中可定位到问题出在nova的conductor组件中 日志 xff1a 查看 var log nova nova conductor log 从日志中可以观察到是因为找不到cpu特性 解决方法 xff1a 进入 us
  • MAVROS + APM + pixhawk 填坑日记(一)

    64 TOC MAVROS 43 APM 43 pixhawk 填坑日记 一 树莓派和pixhawk通过usb串口连接 xff0c 想通过mavros读取飞控上关于GPS的位置信息 rostopic list可以看到mavros发布的话题消
  • ubuntu搭建APT源简单方法

    一 为什么需要搭建APT源 原因如下 xff1a 1 在公司内网离线情况下 xff0c ubuntu无法通过apt原生源进行下载 2 有些源国内无法正常访问 xff0c 需要翻墙 基于以上原因 xff0c 需要自建APT源 二 准备条件 需
  • 加速度计参数讲解

    测量范围 FS也称量程 xff0c 单位为g 地球重力 xff0c 是指加速度计能测量到的正反方向最大加速度的额定值范围 常见有 xff08 2g 4g 8g 16g up to 400g 灵敏度 分辨率Sensitivity Resolu
  • vim 编辑器---批量注释和批量取消注释/去除黄色阴影

    添加注释 ctrl 43 v 进入块选泽模式 上下键选中需要注释的行 按大写 I 进入插入模式 xff0c 输入注释符 按两次 ESC 退出 xff0c 即完成添加注释 取消注释 ctrl 43 v 进入块选泽模式 上下键选中需要注释的行
  • 作业—FreeRTOS入门

    FreeRTOS入门 零 需求软件 xff08 自行下载 xff09 一 任务要求二 FreeRTOS的使用1 原理2 多任务程序3 烧录代码4 结果 三 注意事项四 参考资料 零 需求软件 xff08 自行下载 xff09 1 keil5
  • Flask 案例

    创建news xff0c 根目录下创建settings文件 config py文件 xff0c 编写配置项 xff0c 配置项必须大写 class DeFaultConfig SECRET KEY 61 39 39 SQLALCHEMY D
  • 三 Gazebo学习总结之制作一个模型及导入网格

    Models从简单的形状到复杂的机器人都有 它指的是 lt model gt SDF标签 xff0c 从本质上来说是links joints collision objects visuals和plugins的集合 xff0c 生成一个模型
  • STM32F103V跑NuttX之一——下载nuttX及编译烧录

    下载nuttX及编译 1 NuttX官方链接2 NuttX及App工程下载3 编译NuttX中STM32F103V nsh测试例程4 在ubuntu下使用串口来烧录目标文件至STM32F103V4 1 ubuntu下stm32flash工具