windows10搭建nas详细(docker搭建开发环境)

Windows下ODrive固件开发环境搭建以下内容适用于希望修改ODrive固件的开发人员。因此,它假定您了解诸如如何使用Git,什么是编译器之类的知识。如果这听起来很陌生,以下内容对您来说可能不适合。文章目录Windows下ODrive固件开发环境搭建1准备要用到的开发工具2安装Python3安装ST-Link/V2Drivers4安装GitforWindo…

大家好,又见面了,我是你们的朋友全栈君。

Windows 下 ODrive 固件开发环境搭建

以下内容适用于希望修改ODrive固件的开发人员。因此,它假定您了解诸如如何使用Git,什么是编译器之类的知识。如果这听起来很陌生,以下内容对您来说可能不适合。

1 准备要用到的开发工具

使用到的ODrive开发工具为:

  1. Python3: 用于运行工程构建脚本
  2. ST-Link/V2 Drivers: STLink/v2编程器的驱动
  3. Git for Windows: 用于版本管理和使用它的bash终端
  4. Visual Studio Code: 轻量级但功能强大的源代码编辑器
  5. Tup: 用于调用编译命令的构建系统
  6. ARM GNU Compiler: 用于交叉编译代码
  7. OpenOCD: 用与使用STLink/v2编程器对ODrive进行烧录
  8. GNU MCU Eclipse’s Windows Build Tools: 用于工程构建

工具打包下载:
链接 https://pan.baidu.com/s/1BphTCa4OrzmEFmStDXAbHg
提取码 hbh1

2 安装 Python3

双击运行python-3.8.1.exe
在这里插入图片描述
注意: 勾选上图中的 Add Python 3.8 to PATH
然后按照提示保持默认安装即可。

2.1 安装 Python 包

windos 命令行中输入 pip install PyYAML Jinja2 jsonschema 安装需要的 python 包。

3 安装 ST-Link/V2 Drivers

解压 ST-Link_Drivers.zip 生成 ST-Link_Drivers 文件夹,进入文件夹双击运行 dpinst_amd64.exe 按照提示保持默认安装即可。

4 安装 Git for Windows

双击运行 Git-2.25.0-64-bit.exe 按照提示保持默认安装即可。

5 Visual Studio Code

5.1 安装 Visual Studio Code

双击运行 VSCodeUserSetup-x64-1.42.0.exe 按照提示保持默认安装即可。

5.2 安装 Visual Studio Code 扩展插件

  • 所需扩展插件:
    • C/C++
    • Cortex-Debug
  • 推荐安装的扩展插件:
    • Include Autocomplete
    • Path Autocomplete
    • Auto Comment Blocks

插件安装方法:

  1. 启动 Visual Studio Code
    在这里插入图片描述
  2. 点击红框打开插件管理视图
    在这里插入图片描述
  3. 在红框中输入要安装插件的名称 (如:C/C++) 回车
    在这里插入图片描述
  4. 点击红框中的 Install 安装
    在这里插入图片描述
  5. 等待安装完成即可

5.3 配置 Visual Studio Code 默认终端

配置 Visual Studio Code 默认终端为 git bash

依次点击菜单中的 Terminal -> New Terminal
在这里插入图片描述
此时打开的命令终端为 Windows 默认的 cmd 命令终端
点击红框内的下拉框,点击 Select Default Shell
在这里插入图片描述
点击红框内的 Git bash 即完成配置

注意: 配置完成后请关闭 Visual Studio Code 再进行下边的步骤

6 配置 Tup

解压 tup-latest.zip 到任意位置,然后将 tup-latest 地址添加到系统环境变量 Path 中即可

7 配置 ARM GNU Compiler

解压 gcc-arm-none-eabi-7-2018-q2-update-win32.zip 到任意位置,然后将 gcc-arm-none-eabi-7-2018-q2-update-win32\bin 地址添加到系统环境变量 Path 中即可

8 配置 OpenOCD

解压 OpenOCD.zip 到任意位置,然后将 OpenOCD\0.10.0-13\bin 地址添加到系统环境变量 Path 中即可

9 配置 GNU MCU Eclipse’s Windows Build Tools

解压 gnu-mcu-eclipse-windows-build-tools-2.12-20190422-1053-win64.zip 到任意位置,然后将 GNU MCU Eclipse\Build Tools\2.12-20190422-1053\bin 地址添加到系统环境变量 Path 中即可

10 尝试编译固件源码

推荐使用 git clone ODrive 固件源码到本地,但是由于政策问题 clone 会非常慢,因此,下面提供了额外的百度网盘下载链接。

注意:以下使用百度网盘下载地址下载的固件进行编译
解压 ODrive-fw-v0.4.11-19-g1c947631.rar
进入 ODrive-fw-v0.4.11-19-g1c947631 文件夹,双击 ODrive_Workspace.code-workspace 选择使用 Visual Studio Code 打开
在这里插入图片描述
单击红框中的 tup.config.default 文件,配置硬件版本,修改为如下代码:

# Copy this file to tup.config and adapt it to your needs
# make sure this fits your board
CONFIG_BOARD_VERSION=v3.5-24V
CONFIG_USB_PROTOCOL=native
CONFIG_UART_PROTOCOL=ascii
CONFIG_DEBUG=false

# Uncomment this to error on compilation warnings
#CONFIG_STRICT=true

然后将 tup.config.default 文件重命名为 tup.config 然后保存。

依次点击菜单中的 Terminal -> Run Build Task… 等待构建、编译完成
在这里插入图片描述
虽然编译完成了,但是上边的构建过程存在一些问题,这是由于我们使用的源码包而不是通过 git clone 到本地的(如果是通过 git clone 到本地则不存在这个问题),所以执行 version.py 脚本时无法正确获取固件版本信息。可以修改一下 version.py 内部代码,不通过 git 命令获取版本信息而是手动填写版本信息。修改 version.py 内第22行 get_version_from_git() 函数如下:

修改前:

def get_version_from_git():
    script_dir = os.path.dirname(os.path.realpath(__file__))
    try:
        # Determine the current git commit version
        git_tag = subprocess.check_output(["git", "describe", "--always", "--tags", "--dirty=*"],
            cwd=script_dir)
        git_tag = git_tag.decode(sys.stdout.encoding).rstrip('\n')

        (major, minor, revision, is_prerelease) = version_str_to_tuple(git_tag)

        # if is_prerelease:
        # revision += 1
        return git_tag, major, minor, revision, is_prerelease

    except Exception as ex:
        print(ex)
        return "[unknown version]", 0, 0, 0, 1

修改后:

def get_version_from_git():
    return "fw-v0.4.11-19-g1c947631*", 0, 4, 11, True

11 完成开发环境搭建

11.1 构建工程

  • Terminal -> Run Build Task…

终端窗口将被打开。VSCode配置会在此终端中运行命令 make -j4 ,来编译工程。

11.2 烧录固件

  • Terminal -> Run Task… -> flash

终端窗口将被打开。 VSCode配置会在此终端中运行命令make flash,来烧录固件。

11.3 调试

Cortex-Debug 扩展插件,专门用于调试ARM Cortex项目。 您可以在此处阅读有关Cortex-Debug的更多信息:https://github.com/Marus/cortex-debug

  • 确保将固件源码文件夹作为当前文件夹
  • 用最新固件加载到ODrive (如果使用调试模式可以不需要此操作)
  • 点击Debug -> Start Debugging (或键盘 F5)
  • 处理器将重置并进入暂停
  • 设置断点。注意: 您只能在处理器暂停时设置断点,如果在运行模式下设置断点,则不会应用它们
  • 运行 (F5)
  • Stepping over/in/out, 重新运行, 按下pause (F6) 按钮然后重新设置断点等
  • 当调试完毕后,您可以按下stop (Shift+F5) 停止调试。同时它会自动关闭openOCD

11.4 清除构建文件

如果您想构建新的代码分支您可能需要清理构建时生成的文件。

  • 打开命令终端 (View -> Terminal) 然后在命令终端中输入 make clean 回车

如果您有任何问题或疑问,欢迎您加入ODrive社区或QQ群 851421965 进行交流。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126222.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Kotlin入门(20)几种常见的对话框

    Kotlin入门(20)几种常见的对话框提醒对话框手机上的App极大地方便了人们的生活,很多业务只需用户拇指一点即可轻松办理,然而这也带来了一定的风险,因为有时候用户并非真的想这么做,只是不小心点了一下而已,如果App不做任何提示的话,继续吭哧吭哧兀自办完业务,比如转错钱了、误删资料了,往往令用户追悔莫及。所以对于部分关键业务,App为了避免用户的误操作,很有必要弹出消息对话框,提醒用户是否真的要进行此项操作。这个提醒对话框便是Ap…

  • Docker Compose搭建mycat读写分离

    Docker Compose搭建mycat读写分离接上篇docker-compose部署mysql主从复制,本文介绍如何搭建mycat中间件,并用mycat来做读写分离.配置文件以及文档地址:mycat-rw系统环境docker1.12.3mysql5.7.17deepin15.3桌面版(这个没啥影响,因为我们用docker)mycat1.6要点说明看上篇文章的详细介绍暴露mysqlmycat端口号,方便管理本文直接从dock

    2022年10月10日
  • Redis缓存穿透、缓存雪崩问题分析

    Redis缓存穿透、缓存雪崩问题分析把redis作为缓存使用已经是司空见惯,但是使用redis后也可能会碰到一系列的问题,尤其是数据量很大的时候,经典的几个问题如下:(一)缓存和数据库间数据一致性问题分布式环境下(单机就不用说了)非常容易出现缓存和数据库间的数据一致性问题,针对这一点的话,只能说,如果你的项目对缓存的要求是强一致性的,那么请不要使用缓存。我们只能采取合适的策略来降低缓存和数据库间数据不一致的概率,而无法保证两…

  • 经济管理学中常用的模型分析法

    经济管理学中常用的模型分析法经济管理学中常用的模型分析法常用的分析模型有:波特五力模型、波士顿矩阵、鱼骨分析法、5W1H分析法、麦肯锡7S模型、杜邦分析法、营销漏斗模型、可行性分析、绩效分析;SMART原则、SWOT分析、PEST分析法、GROW模型、3C理论、顾客细分、事故树分析法。比较系统的模型分类有:第一篇:战略与组织工具1.SWOT分析:战略规划的经典分析工具2.PEST分析:组织外部宏观环境分析工具3.BCG矩阵法…

  • 五大主流数据库模型有哪些_五大主流品牌

    五大主流数据库模型有哪些_五大主流品牌导读:无论是关系型数据库还是非关系型数据库,都是某种数据模型的实现。本文将为大家简要介绍5种常见的数据模型,让我们来追本溯源,窥探现在流行的数据库解决方案背后的神秘世界。什么是数据模型?访问数据库

  • nginx启动、重启、关闭

    方式一:传统方法一、启动  cdusr/local/nginx/sbin./nginx二、重启  更改配置重启nginx  kill-HUP主进程号或进程号文件路径或者使用cd/usr/local/nginx/sbin./nginx-sreload  判断配置文件是否正确 nginx-t-c/usr/local/nginx/conf/nginx.conf或者cd…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号