一:下载和安装交叉编译
-
- 下载coretex-M系列交叉编译器
请在以下链接下载您开发所用的电脑匹配编译器,我的电脑采用的是ubuntun16.04,所以下载了gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2
安装交叉编译器到你的电脑:
tar xvf gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2
在/etc/bash.bashrc文件末尾添加如下两行:
export ARMGCC_DIR=/home/andy/gcc-arm-none-eabi-9-2020-q2-update
export PATH=$PATH:/home/andy/gcc-arm-none-eabi-9-2020-q2-update/bin
执行source /etc/bash.bashrc使用环境变量生效
执行命令是否编译器生效:arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/home/andy/gcc-arm-none-eabi-9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/8.2.1/lto-wrapper
Target: arm-none-eabi
。。。。。。。。
1.2 下载M7官方SDK包
请在nxp官方下载最新的SDK包,当前我下载最新包是SDK_2.7.0_EVK-MIMX8MN.tar.gz和sdk包说明文档SDK_2.7.0_EVK-MIMX8MN_doc.tar.gz
二:编译第一个hello程序
2.1 SDK包说明
SDK包说明文档SDK_2.7.0_EVK-MIMX8MN_doc.tar.gz里面有详细描述SDK包所开发的API接口说明
SDK包SDK_2.7.0_EVK-MIMX8MN.tar.gz解压后里面有多个目录,其中docs目录下Getting Started with MCUXpresso SDK for EVK-MIMX8MN.pdf文件有详细描述SDK包每个目录下有什么东西和作用,这个SDK包资源还算丰富,包含各种测试例子和驱动接口以及FreeRTOS操作系统的支持。
2.2 编译程序
进入SDK包里面的hello程序所在的目录
SDK_2.7.0_EVK-MIMX8MN/boards/evkmimx8mn/demo_apps/hello_world
armgcc目录是hello_world程序的编译规则和链接脚本,这里需要注意一下链接脚本:
1:build_ddr_release.sh(编译出的程序必须放到DDR4运行)
MIMX8MN6xxxxx_cm7_ddr_ram.ld
2:build_release.sh(编译出的程序必须放到M7核内部RAM运行)