标签 Zephyr 下的文章
 2020-06-14T19:00:01.642000    |      嵌入式学习    |     AilsonJack    |     暂无评论    |     973 views
Zephyr版本号:2.2.0开发板:STM32F429IGT6(野火STM32F429挑战者 V2开发板)开发环境:Windows 7 64位这里选择的是Zephyr当前最新的Release版本2.2.0进行说明的。当需要熟悉Zephyr的具体运行过程,那么调试就必不可少,例如在调试任务切换时,需要观察CPU状态以及各个寄存器的情况,此时图形界面下的调试更为方便。下面讲讲如何使用Eclipse搭配JLink来调试HelloWold应用程序。1、设置Eclipse环境(1).下载并安装Eclipse从Eclipse网站下载Eclipse IDE for C/C++ Developers,然后进行安装。下载网址:https://www.eclipse.org/downloads/packages/release/oxygen/2/eclipse-ide-cc-developers。(2).安装GNU MCU Eclipse插件打开安装好的Eclipse,在Help(或者Window)菜单下面找到Eclipse Marketplace,然后在Find输入框中输入GNU MCU eclipse,按Enter键进行搜索,找到GNU MCU eclipse插件之后,点击Install按钮,我这里之前已经安装好了,如下图所示:2、生成Eclipse工程确定命令提示符的路径在Zephyr2.2.0源代码目录中,执行下述命令来生成Eclipse的工程文件:west build -p auto -b stm32f429i_disc1 samples/hello_world -- -G"Eclipse CDT4 - Ninja"生成的Eclipse工程文件.project在build目录下。3、将工程导入到Eclipse打开安装好的Eclipse,在File菜单下面点击Import…,在弹出的窗口中选择General -> Existing Projects into Workspace,然后点击Next,然后添加Zephyr的build的路径,点击Refresh,选中添加的工程之后点击Finish:4、创建调试器配置文件工程导入完成之后,接下来配置调试器,打开菜单Run -> Debug Configurations...,在弹出的窗口中双击GDB SEGGER J-Link Debugging生成调试配置文件。Main标签页的配置:    Project:hello_world@build    C/C++ Application:zephyr/zephyr.elfDebugger标签页的配置:    J-Link GDB Server Setup:        Start the J-Link GDB server locally:取消勾选    GDB Client Setup:        Executable:arm-none-eabi-gdb.exeStartup标签页的配置:    Initial Reset and Halt:取消勾选    Enable semihosting:取消勾选    Enable SWO:取消勾选,如下图所示:Set breakpoint at: __startCommon标签页的配置如下图红色方框所示:5、运行调试器在使用Eclipse调试Zephyr之前,先打开JLink GDB Server,然后再点击Eclipse调试按钮下拉菜单的hello_world_build Configuration调试选项:点击调试按钮等一小会儿之后,出现了调试界面,惊喜吧:之后的步骤,就是自己动手调试代码啦。如果这篇文章对你有帮助,记得点赞和关注博主就行了^_^。
嵌入式RTOSZephyr 阅读全文»
 2020-05-15T21:50:16.848000    |      嵌入式学习    |     AilsonJack    |     2 条评论    |     1498 views
Zephyr版本号:2.2.0开发板:STM32F429IGT6(野火STM32F429挑战者 V2开发板)开发环境:Windows 7 64位这里选择的是Zephyr当前最新的Release版本2.2.0进行说明的。1、修改代码前面文章的操作,虽然在Windows下能够成功的编译STM32F429的工程,但是却不能在野火挑战者V2开发板上运行,因为Zephyr代码中的STM32F429硬件和野火的外围硬件不一样(其实CPU也有一些差异)。主要体现在外部晶振,时钟的配置以及MPU上面(野火挑战者V2开发板使用的CPU是STM32F429IGT6,不带MPU功能)。进入到boards/arm/stm32f429i_disc1文件夹中,然后修改文件stm32f429i_disc1_defconfig,需要修改的内容如下:CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=180000000CONFIG_ARM_MPU=nCONFIG_CLOCK_STM32_HSE_CLOCK=25000000CONFIG_CLOCK_STM32_PLL_M_DIVISOR=25CONFIG_CLOCK_STM32_PLL_N_MULTIPLIER=360在stm32f429i_disc1_defconfig文件的末尾,添加如下的内容(该内容的含义是编译出的代码不进行优化,这样便于调试):CONFIG_NO_OPTIMIZATIONS=y修改文件board.cmake,需要修改的内容如下:board_runner_args(jlink "--device=STM32F429IG" "--speed=4000")2、编译HelloWorld应用确定命令提示符的路径在Zephyr2.2.0源代码目录中,执行下述命令:west build -p auto -b stm32f429i_disc1 samples/hello_world编译成功的输出信息如下:3、下载程序到开发板确保Windows中安装了JLink驱动,并且将JLink驱动的路径(JLink.exe所在的路径)添加到系统环境变量的Path中。我这里安装的是Jlink V6.48a,其路径为:C:\Program Files (x86)\SEGGER\JLink_V648a。如果没有将JLink驱动的路径添加到环境变量中,下载程序时会出现类似的错误:FATAL ERROR: required program JLink.exe not found; install it or add its location to PATH。将开发板上电,连接好JLink调试器,连接好串口线并且打开串口调试助手,然后执行下述命令将程序烧写到开发板中:west flash --runner jlink程序下载成功之后,会在串口调试助手中打印出信息,如下图所示:4、使用GDB调试程序程序下载成功之后,执行命令:west debug --runner jlink(该命令会自动打开JLink GDB Server,不需要提前手动打开JLink GDB Server),可以使用GDB调试Zephyr,先前的镜像不能成功打印信息,我也是通过这个命令来调试Zephyr,最终定位时钟参数问题的。接下来的一篇文章,会讲述如何使用Eclipse来调试Zephyr,虽然也是使用的GDB,但是调试更加的方便,能够手动添加断点,添加观察的变量,随意切换文件,总之下面一篇文章很OK,敬请关注。如果这篇文章对你有帮助,记得点赞和关注博主就行了^_^。
嵌入式RTOSZephyr 阅读全文»
 2020-05-09T23:43:42.634000    |      嵌入式学习    |     AilsonJack    |     暂无评论    |     1426 views
Zephyr版本号:2.2.0开发板:STM32F429IGT6(野火STM32F429挑战者 V2开发板)开发环境:Windows 7 64位这里选择的是Zephyr当前最新的Release版本2.2.0进行说明的,我的电脑是Windows 7 64位系统,对于其他版本的Zephyr,配置步骤应该差不多。在后续的文章中,我将在野火的挑战者V2开发板运行Zephyer,并讲解使用Eclipse和JLink调试Zephyer的方法。为了防止公开链接被和谐,文章所需资源,请关注博主公众号,发送关键字 "zephyr开发环境" 进行获取。1、安装ChocolateyChocolatey的安装可参考我的博文:Chocolatey离线安装方法,当然安装好了的就请忽略。2、安装依赖使用Chocolatey安装指定工具时,如果电脑中已经存在了该工具,可选择不安装该工具。(1).以管理员身份打开命令提示符(按Windows键,在提示符下键入“cmd.exe”,然后右键单击结果并选择“以管理员身份运行”)。(2).禁用全局确认,以避免必须确认单个程序的安装:choco feature enable -n allowGlobalConfirmation(3).安装Cmake:choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'安装完Cmake之后,记得将C:\Program Files\CMake\bin(Cmake的默认安装路径)添加进系统环境变量的path中。(4).安装其余工具:choco install git python ninja dtc-msys2 gperf(5).安装west:首先关闭之前的管理员命令提示符窗口,然后打开常规命令提示符窗口(不要有管理员权限的命令提示符窗口),接着执行命令:pip3 install west。3、获取Zephyr-2.2.0源代码Zephyr的多用途west工具简化了获取Zephyr源代码和Zephyr需要使用到的外部模块。使用west 将Zephyr的所有git存储库克隆到新目录zephyr_new中。选择一个存放Zephyr的目录,然后在此目录中打开命令提示符,执行下述命令:west init zephyr_newcd zephyr_newwest update如果执行完west update命令之后,出现类似错误:ERROR: update failed for projects: civetweb, hal_stm32,那么再执行一次west update命令应该就可以了:切换到2.2.0代码的分支:cd zephyrgit checkout -b v2.2-branch origin/v2.2-branch4、安装所需的Python软件包我们下载的Zephyr源代码中包含一个requirements.txt文件,我们将使用该文件来安装Zephyr项目使用的其他Python工具:pip3 install -r scripts\requirements.txt5、安装软件开发工具链工具链包括用于构建Zephyr应用程序的必要工具,包括:编译器,汇编器,链接器及其依赖性。由于这里将使用STM32F429IGT6,因此下载安装ARM工具链即可。在https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm下载编译工具链,或者使用我这里提供的下载好的编译工具链,我使用的是2019q4。解压"gcc-arm-none-eabi-9-2019-q4-major-win32.zip",重命名为2019q4,我这里的存放路径为:F:\SoftWare\linux_enviroment\gnu_tools_arm_embed\2019q4。环境变量设置:(1).在系统变量下面点击新建,变量名:ZEPHYR_TOOLCHAIN_VARIANT,变量值:gnuarmemb。(2).在系统变量下面点击新建,变量名:GNUARMEMB_TOOLCHAIN_PATH,变量值:F:\SoftWare\linux_enviroment\gnu_tools_arm_embed\2019q4。(3).将编译工具链的路径(F:\SoftWare\linux_enviroment\gnu_tools_arm_embed\2019q4\bin)添加到系统环境变量的Path中。添加完上述环境变量之后,记得保存。6、编译HelloWorld应用确定命令提示符的路径在Zephyr2.2.0源代码目录中,执行下述命令:zephyr-env.cmdwest build -p auto -b stm32f429i_disc1 samples/hello_world编译成功的输出信息如下:当然了,当前编译出的二进制文件并不能在野火挑战者V2上运行,后续的文章会讲解如何修改代码使Zephyr能够在野火挑战者V2运行。敬请关注。如果这篇文章对你有帮助,记得点赞和关注博主就行了^_^。
嵌入式RTOSZephyr 阅读全文»
  • 1

  本站信息

目前本站共被浏览 159647 次
目前本站已经运行 3436 天
目前本站共有 165 篇文章
目前本站共有 6 条评论信息
目前本站共有 104 个标签
目前本站共有 0 条留言信息
网站创建时间: 2015年03月01日
最近更新时间: 2023年11月26日
Copyright © 2015~2023  说好一起走   保留所有权利   |  百度统计  蜀ICP备15004292号