全志ARM926 Melis2.0系统的开发指引②
- 编写目的
- 4. 编译工具链使用
- 4.1.工具链通用配置
- 4.2.模块的工具链配置
- 4.3.简单的 makefile
- 5. 固件烧录工具的安装
- 5.1.PhoenixSuit 的安装步骤
- 5.2.检验 USB 驱动安装
- 5.3.使用烧录软件 PhoenixSuit
- -全志相关工具和资源
- -.1 全志固件镜像修改工具 ImageModify.exe 下载
- -.2 全志固件USB刷机工具 PhoenixSuit 下载
- -.3 全志Melis2.0 用户手册.pdf下载
- -.4 全志melis2.0 sdk源码库下载
编写目的
本文档是全志 Melis2.0 系统的开发指引文档,旨在协助开发者了解和掌握 Melis 系统,快速搭建 Melis系统的开发环境,将 Melis2.0 系统应用到产品开发中。
4. 编译工具链使用
4.1.工具链通用配置
Melis2.0 平台工具链的配置文件是“sdkroot\includes\cfgs\CROSSTOOL.CFG”。 该文件指定了
Melis2.0 平台的编译工具、硬件平台、共用库目录和相关工具的路径,SDK 中所有模块的 makefile 都会引用该配置。
该配置文件中各变量名由平台整合人员统一设置分配,用户可以使用相关的变量,但是不要对变量的
名称作修改,以免造成无法编译。相关变量的含义如下:
$(CROSSTOOL),定义交叉编译工具类型:
“ARMRVDS”,定义交叉编译工具为 RVDS;
“ARMGCC”,定义交叉编译工具为 ARMGCC;
$(EPDK_CHIP),定义硬件平台的类型,定义在脚本“sdkroot\includes\cfgs\chip.cfg”中:
$(LIBPATH),定义 Melis2.0 平台的共享库目录。
$(INTERLIBPATH),定义 Melis2.0 平台内部共享库目录。
$(WORKSPACEPATH),定义 Melis2.0 平台目标文件及打包工作路径。
$(ESTUDIOROOT),定义 Melis2.0 平台使用的 PC 工具的路径。
$(RVDSPATH),定义了 Melis2.0 平台使用的 RVDS 工具的安装路径。
$(CC),定义 C 语言编译工具:
RVDS 交叉编译工具下为“armcc”;
GCC 交叉编译工具下为“arm-elf-gcc”;
$(CFLAGS),定义 C 语言编译工具的基本配置参数。
$(AS),定义汇编器工具:
RVDS 交叉编译工具下为“armasm”;
GCC 交叉编译工具下为“arm-elf-as”;
$(ASFLAGS),定义汇编器的基本配置参数。
$(LINK),定义链接工具:
RVDS 交叉编译工具下为“armlink”;
GCC 交叉编译工具下为“arm-elf-ld”;
$(LKFLAGS),定义链接工具基本配置参数。
$(AR),定义库打包工具:
RVDS 交叉编译工具下为“armar”;
GCC 交叉编译工具下为“arm-elf-ar”;
$(ARFLAGS),定义库打包工具的基本配置参数。
$(LOAD),定义加载器工具:
RVDS 交叉编译工具下为“fromelf”;
GCC 交叉编译工具下为“arm-elf-objcopy”;
$(LDFLAGS),定义加载器工具的基本配置参数。
4.2.模块的工具链配置
CROSSTOOL.CFG 仅配置了一些公共内容,在模块的 make.cfg 使用 include 关键字来使用 CROSSTOOL.CFG
中的配置。包含了公有配置的同时,可在每个模块的 make.cfg 文件中自定义私有配置。虽然是私有配置,但一般都包括下面几个部分:
$(ROOT),定义当前模块的根目录,一般为“.”。
(
S
D
K
R
O
O
T
)
,定义“
s
d
k
r
o
o
t
”目录相对于
(SDKROOT),定义“sdkroot”目录相对于
(SDKROOT),定义“sdkroot”目录相对于(ROOT)的相对路径,此变量必须定义,CROSSTOOL.CFG 配置
文件中会通过此变量来引用 SDK 的根目录。
include $(SDKROOT)/includes/cfgs/CROSSTOOL.CFG,引用编译工具通用配置。
$(INCLUDES),定义所有需要引用的头文件的路径。
$(LIBS),定义需要引用的库文件。
$(SRCDIRS),定义所有需要引用的源文件的路径,一般采用自动扫描的方式来定义,不需要逐项列出。
$(TARGET),定义需要输送出去的目标文件,一般不包含调试信息。
$(LOCALTARGET),定义本地生成的目标文件,一般命名为“__image.axf”,包含有完整的调试信息,用作调试。
$(LINK_SCT),定义链接程序使用的链接脚本。
除此以外,还需要对“CFLAGS”、“ASFLAGS”、“LKFLAGS”、“LDFLAGS”等相关工具配置参数做相应的扩展,以满足模块编译的特定需求。
下面是一个 make.cfg 示例:
图16:
4.3.简单的 makefile
Melis2.0 平台采用 makefile 的隐含规则完成对所有源文件的编译。没有启用完整的依赖规则,只有当
源码文件(.c、.s)文件发生修改后,才会重新编译该源码文件(未修改的源码文件不会被重新编译),修改头文件(.h)不会引发对源码文件的重新编译,因此,当修改了相关的头文件以后,必须先执行 clean,
再重新编译。一个基本的 makefile 一般包括以下几个部分:
include make.cfg,引用 makefile 的配置文件。
$(SRCCS),通过自动扫描获得的.c 源文件列表。
$(SRCSS),通过自动扫描获得的*.s 源文件列表。
(
O
B
J
S
)
,通过后缀替换规则从
(OBJS),通过后缀替换规则从
(OBJS),通过后缀替换规则从(SRCCS)和
(
S
R
C
S
S
)
获得的
∗
.
o
文件列表,
∗
.
o
文件通过
m
a
k
e
f
i
l
e
的隐含规则自动编译
(SRCSS)获得的*.o 文件列表,*.o 文件通过 makefile 的隐含规则自动编译
(SRCSS)获得的∗.o文件列表,∗.o文件通过makefile的隐含规则自动编译(SRCCS)和$(SRCSS)获得。
(
L
O
C
A
L
T
A
R
G
E
T
)
:
(LOCALTARGET):
(LOCALTARGET):(OBJS),链接相关的*.o 和库文件得到本地目标文件。
all:$(LOCALTARGET),通过本地文件得到输出目标文件,该符号也是 makefile 的默认入口。
clean,清理生成的临时文件。
一个简单的 makefile 示例文件如下:
图17:
5. 固件烧录工具的安装
5.1.PhoenixSuit 的安装步骤
【step1】双击 图标,开始 PhoenixSuit 的安装。如【图 18】所示,点击安装向导“下一步”按钮,。
图18:
【step2】如【图 19】所示,默认安装路径,也可点击“浏览”按钮自定义安装路径,点击“下一步”按钮;
图19:
【step3】如【图 20】所示,点击“下一步”按钮确认安装;
图20:
【step4】如【图 21】所示,进入安装,进度条显示安装进度;
图21:
【step5】如【图 22】所示,安装过程中会弹出 USB 驱动安装提示窗口,点击“下一步”继续安装;
图22:
【step6】如【图 23】所示,如弹出无法验证发布者按钮,请点击“始终安装此驱动程序软件”继续安装;
图23:
【step7】如【图 24】所示,驱动安装完成后弹出提示窗口,点击“完成”按钮结束 USB 驱动的安装;
图24:
【step8】如【图 25】所示,【step7】的 USB 驱动的安装完成后,PhoenixSuit 会继续自动安装,安装完成后会出现“安装完成”提示窗口,点击“关闭”按钮结束安装。
图25:
5.2.检验 USB 驱动安装
PhoenixSuit 安装完成后,可打开 windows 的“设备驱动管理器”,点击“通用串行总线控制器”弹出
的设备条目,查看是否有“VID_1f3a_PID_efe8”的 USB 设备,如【图 26】所示。
图26:
如果开发者想要重新安装驱动,驱动在 PhoenixSuit 的安装文件夹中也有备份,参考下图【图 27】所示。
图27:
5.3.使用烧录软件 PhoenixSuit
【step1】双击 图标,运行 PhoenixSuit 工具,点击“一键刷机”选项卡,如【图 28】所示
图28:
【step2】点击【图 11】的“浏览”按钮来指定固件的存放路径,参考【图 29】,选中.img 后缀的固件文件之后,点击“打开”按钮完成固件选择。
图29:
【step4】选择好固件之后如【图 30】所示。接下来参考【图 31】,开发板断电的情况下,短路 Norflash 的1、2 引脚,通过 USB 线将电脑和开发板相连,再给开发板上电,上电 1~2 秒后松开 Norflash 的短路引脚即
可。如开发板本身是通过 USB 的 5V 供电,即 USB 链接电脑和开发板时就已经上电,则按照“先短路,后供电”的原则操作本步骤。
图30:
图31:
【step5】步骤 4【step4】完成之后,开发板就会跟电脑交互通信,自动进入烧录模式,PhoenixSuit 出现进度条提示烧录进度,如【图 32】所示。至此,开发者等待烧录完成即可。
图32:
【step6】烧录完成后,会出弹出烧录成功提示窗口,则表示烧录成功完成,开发者即可重启运行新固件。
图33:
-全志相关工具和资源
-.1 全志固件镜像修改工具 ImageModify.exe 下载
下载地址:
固件镜像修改工具 ImageModify.exe下载 ImageModify_20230906.rar
-.2 全志固件USB刷机工具 PhoenixSuit 下载
下载地址:
USB刷机工具 PhoenixSuit下载 PhoenixSuit_CN_V1.1.1_20230906.rar
-.3 全志Melis2.0 用户手册.pdf下载
下载地址:
全志Melis2.0 用户手册.pdf下载 documents_20230906_melis_v2.0.rar
-.4 全志melis2.0 sdk源码库下载
下载地址:
全志melis2.0 sdk源码库下载 melis2.0-sdk-release_20230906V2.0.rar