3765|5

222

帖子

2

TA的资源

一粒金砂(高级)

楼主
 

【KW41Z】的环境搭建gcc+jlink [复制链接]

本帖最后由 lzwml 于 2017-7-1 14:38 编辑 此内容由EEWORLD论坛网友lzwml原创,如需转载或用于商业用途需征得作者同意并注明出处

拖延症后期,清明节放假前一天拿到板子,初略尝试搭建环境没弄出来, 之后就是各种借口没再去碰他,这两天被催作业了。。。

最初使用NXP的开发环境,我承认他们的IDE的确做得很出色(虽然我还没有用透),够傻瓜化, 不过每次接触新的IDE少不了排斥,以及各种不习惯,同时我也很讨厌他的工厂管理方式,于是我依旧使用 习惯的万精油开发环境——SEGGER + 交叉编译器

所需工具

通用工具

  • cmake
  • sublime text
  • git bash

NXP 相关

  • 例程源码 MKW41Z_Connectivity_Software.exe 一个 SDK的工程包

    与SDK_2.2_FRDM-KW41Z.zip内容完全按相同

  • 交叉编译链 kinetis-design-studio_3.2.0.exe (KDS) NXP的IDE之一

    与MCUXpressoIDE_10.0.0_344.exe好像差不多 我不需要他的IDE,只需要工具链

  • 下载器 SEGGER,已经集成到KDS安装包中(但我找不到对应的芯片),如果自行下载较新版本V614可直接找到MKW41Z

配置环境

NXP的相关文件安装到D:NXP下

安装 MKW41Z_Connectivity_Software.exe

生成目录 D:NXPMKW41Z_ConnSw_1.0.2

有用的东西在 D:NXPMKW41Z_ConnSw_1.0.2boards 下,里面有很丰富的例子, 几乎所有的例子都能通过几个环境编译IAR/KDS/MDK/ARMGCC,我只是用ARMGCC环境。

另一个非常有用的目录是 D:NXPMKW41Z_ConnSw_1.0.2toolswirelessProjectCloner, 这个克隆工具实际上时把SDK里的若干例程根据你所关心的内容,分别拷贝到其他目录, 不建议直接在boards下作任何编辑。可惜它不能Clone ARMGCC的工程

安装KDS

生成目录 D:NXPFreescaleKDS_v3

对我有用的是D:NXPFreescaleKDS_v3Toolchainbinarm-xxx

以及D:NXPFreescaleKDS_v3SEGGERJFlash.exe

测试交叉编译器

进入 D:NXPMKW41Z_ConnSw_1.0.2boardsfrdmkw41zdriver_examplesgpioled_outputarmgcc

这个工程是LED的测试用例,运行后LED每秒开关一次。

  • 鼠标右键——git bash

  • 输入./build_release.sh 此时或出错,提示需要配置交叉编译器环境ARMGCC_DIR,

    在终端里输入如下内容添加 临时 环境变量,

  export ARMGCC_DIR=D:/NXP/Freescale/KDS_v3/Toolchain

或者 我的电脑——属性——高级设置——环境变量——新建——“变量名”ARMGCC_DIR ——“变量值”D:/NXP/Freescale/KDS_v3/Toolchain

  • 继续./build_release.sh 生成 Makefile

  • 直接 make clean/make all 编译

    生成release/gpio_led_output.elf,这个文件不能直接下载,需要转换成 bin文件

  • elf转bin文件

    在bash下输入,

  arm-none-eabi-objcopy.exe -O binary -S release/gpio_led_output.elf a.bin

或者直接把它添加到Makefile里

或者直接把它添加到Makefile里

# The main all target
all: cmake_check_build_system
  $(CMAKE_COMMAND) -E cmake_progress_start D:/NXP/MKW41Z_ConnSw_1.0.2/boards/frdmkw41z/driver_examples/gpio/led_output/armgcc/CMakeFiles D:/NXP/MKW41Z_ConnSw_1.0.2/boards/frdmkw41z/driver_examples/gpio/led_output/armgcc/CMakeFiles/progress.marks
  $(MAKE) -f CMakeFiles/Makefile2 all
  $(CMAKE_COMMAND) -E cmake_progress_start D:/NXP/MKW41Z_ConnSw_1.0.2/boards/frdmkw41z/driver_examples/gpio/led_output/armgcc/CMakeFiles 0
  arm-none-eabi-objcopy.exe -O binary release/gpio_led_output.elf a.bin

测试下载器

打开D:NXPFreescaleKDS_v3SEGGERJlink
.exe,

  • 测试Jlink.exe能否连接到设备

    首先拔下KW41Z上的USB电源,启动Jlink.exe,此时应该不能完全启动,他会找不到 设备,然后插入KW41Z的USB,JLink.exe探测成功。

    随意在上面输入一些命令 connect 或 loadbin 都可以,会提示你对环境做些配置,选择Jlink后一路回车

    如果弹出对话框选择芯片就参考下图,这个SEGGER的版本是V6的,与以前我所用过的V4略有不同,需要手动选择芯片, 在这里我卡了很久。

SEGGER V614版本选择芯片Freescale MKW41Z512xxx4,不是NXP厂家

SEGGER V5.10 选择芯片FreeScale MKW40Z160XXX4(找不到KW41Z)

  • 终点——烧录
    # 烧录
    loadbin D:NXPMKW41Z_ConnSw_1.0.2boardsfrdmkw41zdriver_examplesgpioled_outputarmgcca.bin 0
    # 设置PC指针
    setpc 0 
    # 启动 go
    g

    能看到LED闪烁表示设备运行成功

一键下载脚本

平时的编译和下载只需两步

$ make all
$ ./dl.sh

dl.sh 内容,我的SEGGER安装在C:program file(x86)SEGGERJLINK_V614

#!/bin/bash
# dl.sh

/c/Program Files (x86)/SEGGER/JLink_V614/JLink.exe -device MKW41Z512XXX4 -Speed 4000 -IF JTAG -JTAGConf -1,-1 -CommanderScript download.jlink

Jlink.exe 导入配置脚本 download.jlink

r
h
loadbin a.bin 0
setpc 0
g
exit

最后,好久没在论坛发帖,居然现在可以支持MakeDown格式,棒棒哒

此帖出自NXP MCU论坛

最新回复

这个不错,学习用命令行下jinlk下载程序。win8下各种坑,没办法。 已成功下载,并运行程序。  详情 回复 发表于 2017-7-11 23:44
点赞 关注
 

回复
举报

5219

帖子

236

TA的资源

管理员

沙发
 
加油,还有20多天
此帖出自NXP MCU论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

222

帖子

2

TA的资源

一粒金砂(高级)

板凳
 
nmg 发表于 2017-6-30 09:45
加油,还有20多天

此帖出自NXP MCU论坛
 
 
 

回复

5219

帖子

236

TA的资源

管理员

4
 

此帖出自NXP MCU论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

660

帖子

1

TA的资源

纯净的硅(中级)

5
 
非常棒
此帖出自NXP MCU论坛
 
 
 

回复

664

帖子

108

TA的资源

纯净的硅(中级)

6
 
这个不错,学习用命令行下jinlk下载程序。win8下各种坑,没办法。
已成功下载,并运行程序。
此帖出自NXP MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表