0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Zephyr笔记:在STM32F429上运行HelloWorld

嵌入式那些事 来源:嵌入式那些事 2023-04-06 11:42 次阅读

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=180000000
CONFIG_ARM_MPU=n
CONFIG_CLOCK_STM32_HSE_CLOCK=25000000
CONFIG_CLOCK_STM32_PLL_M_DIVISOR=25
CONFIG_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源代码目录中,执行下述命令:

westbuild-pauto-bstm32f429i_disc1samples/hello_world

编译成功的输出信息如下:

62dd597a-d054-11ed-bfe3-dac502259ad0.png

3、下载程序到开发板

确保Windows中安装了JLink驱动,并且将JLink驱动的路径(JLink.exe所在的路径)添加到系统环境变量的Path中。我这里安装的是Jlink V6.48a,其路径为:C:Program Files (x86)SEGGERJLink_V648a。

如果没有将JLink驱动的路径添加到环境变量中,下载程序时会出现类似的错误:FATAL ERROR: required program JLink.exe not found; install it or add its location to PATH。

将开发板上电,连接好JLink调试器,连接好串口线并且打开串口调试助手,然后执行下述命令将程序烧写到开发板中:

westflash--runnerjlink

程序下载成功之后,会在串口调试助手中打印出信息,如下图所示:

6303caa6-d054-11ed-bfe3-dac502259ad0.png

4、使用GDB调试程序

程序下载成功之后,执行命令:west debug --runner jlink(该命令会自动打开JLink GDB Server,不需要提前手动打开JLink GDB Server),可以使用GDB调试Zephyr,先前的镜像不能成功打印信息,我也是通过这个命令来调试Zephyr,最终定位时钟参数问题的。

631e8cf6-d054-11ed-bfe3-dac502259ad0.png

接下来的一篇文章,会讲述如何使用Eclipse来调试Zephyr,虽然也是使用的GDB,但是调试更加的方便,能够手动添加断点,添加观察的变量,随意切换文件,总之下面一篇文章很OK,敬请关注。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10850

    浏览量

    211515
  • WINDOWS
    +关注

    关注

    3

    文章

    3540

    浏览量

    88594
  • 编译
    +关注

    关注

    0

    文章

    656

    浏览量

    32847
  • STM32F429
    +关注

    关注

    0

    文章

    40

    浏览量

    10696
  • Zephyr
    +关注

    关注

    0

    文章

    20

    浏览量

    5959

原文标题:4、使用GDB调试程序

文章出处:【微信号:嵌入式那些事,微信公众号:嵌入式那些事】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32F429怎样去运行HelloWorld

    STM32F429IGT6(野火STM32F429挑战者 V2开发板)开发环境:Windows 7 64位这里选择的是Zephyr当前最新的Release版本2
    发表于 08-10 06:40

    STM32F429使用外扩SDRAM运行程序的方法

    STM32F429使用外扩SDRAM运行程序的方法
    发表于 11-25 14:48 0次下载

    STM32F429中文手册

    STM32F429中文手册
    发表于 03-10 17:38 725次下载

    STM32F429开发板用户手册】第13章 STM32F429启动过程详解

    STM32F429开发板用户手册】第13章 STM32F429启动过程详解
    发表于 11-23 18:06 39次下载
    【<b class='flag-5'>STM32F429</b>开发板用户手册】第13章     <b class='flag-5'>STM32F429</b>启动过程详解

    STM32F429开发板用户手册】第21章 STM32F429的NVIC中断分组和配置(重要)

    STM32F429开发板用户手册】第21章 STM32F429的NVIC中断分组和配置(重要)
    发表于 12-04 13:36 17次下载
    【<b class='flag-5'>STM32F429</b>开发板用户手册】第21章 <b class='flag-5'>STM32F429</b>的NVIC中断分组和配置(重要)

    STM32F429开发板用户手册】第1章 初学STM32F429的准备工作

    STM32F429开发板用户手册】第1章 初学STM32F429的准备工作
    发表于 12-04 13:51 20次下载
    【<b class='flag-5'>STM32F429</b>开发板用户手册】第1章 初学<b class='flag-5'>STM32F429</b>的准备工作

    STM32F429开发板用户手册】第8章 STM32F429的终极调试组件Event Recorder

    STM32F429开发板用户手册】第8章 STM32F429的终极调试组件Event Recorder
    发表于 12-04 14:06 17次下载
    【<b class='flag-5'>STM32F429</b>开发板用户手册】第8章 <b class='flag-5'>STM32F429</b>的终极调试组件Event Recorder

    STM32F429开发板用户手册】第19章 STM32F429的GPIO应用之按键FIFO

    STM32F429开发板用户手册】第19章 STM32F429的GPIO应用之按键FIFO
    发表于 12-05 15:21 14次下载
    【<b class='flag-5'>STM32F429</b>开发板用户手册】第19章 <b class='flag-5'>STM32F429</b>的GPIO应用之按键FIFO

    STM32F429开发板用户手册】第14章 STM32F429的电源,复位和时钟系统

    STM32F429开发板用户手册】第14章 STM32F429的电源,复位和时钟系统
    发表于 12-08 15:51 13次下载
    【<b class='flag-5'>STM32F429</b>开发板用户手册】第14章 <b class='flag-5'>STM32F429</b>的电源,复位和时钟系统

    STM32f429外部中断配置解析基于HAL库

    STM32f429外部中断配置解析基于HAL库
    发表于 12-16 16:58 10次下载
    <b class='flag-5'>STM32f429</b>外部中断配置解析基于HAL库

    调试 STM32F429 + USB3300

    调试 STM32F429 + USB3300调试 STM32F429 + USB3300 工作HS模式调试 STM32F429 + USB3300 工作
    发表于 12-28 19:44 123次下载
    调试 <b class='flag-5'>STM32F429</b> + USB3300

    STM32F429参考手册中文版

    STM32F429参考手册中文版
    发表于 01-26 13:48 0次下载

    AN4658_从STM32F429、439系列到STM32F446系列的应用移植

    AN4658_从STM32F429、439系列到STM32F446系列的应用移植
    发表于 11-21 08:11 0次下载
    AN4658_从<b class='flag-5'>STM32F429</b>、439系列到<b class='flag-5'>STM32F</b>446系列的应用移植

    ES0206_STM32F427/437 和 STM32F429/439 线路限制

    ES0206_STM32F427/437 和 STM32F429/439 线路限制
    发表于 11-24 08:27 0次下载
    ES0206_<b class='flag-5'>STM32F</b>427/437 和 <b class='flag-5'>STM32F429</b>/439 线路限制

    STM32F427/437和STM32F429/439线路限制

    STM32F427/437和STM32F429/439线路限制
    发表于 11-24 08:27 27次下载
    <b class='flag-5'>STM32F</b>427/437和<b class='flag-5'>STM32F429</b>/439线路限制