57 lines
2.4 KiB
Markdown
Executable File
57 lines
2.4 KiB
Markdown
Executable File
# 开发步骤
|
||
|
||
## 前言
|
||
<p style="text-indent:2em">本文档将介绍<B>XiUOS</B>分别在基于ARM和RISC-V架构的开发板上的编译、烧录和运行的过程。包括开发板选择及配置初始化、编译命令等信息。
|
||
</p>
|
||
|
||
## 开发板的选择及配置初始化
|
||
<p style="text-indent:2em">在执行编译之前,我们需要先确定<B>XiUOS</B>系统要运行在哪个开发板上,然后针对具体的开发板设置相关的配置信息。</p>
|
||
|
||
+ 开发板的选择
|
||
为了查看<B>XiUOS</B>支持的开发板种类,可以执行以下命令,也可以[查看支持的开发板](/hardwaresupport/arm32/stm32f407-st-discovery.html)。
|
||
|
||
$ make BOARD=list
|
||
+ 配置初始化
|
||
+ 以stm32f407-st-discovery为例,进行开始系统参数。
|
||
|
||
|
||
|
||
|
||
$ make BOARD=stm32f407-st-discovery menuconfig
|
||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/stm32_menuconfig.png" />
|
||
对应的配置信息将存放在board/stm32f407-st-discovery/xsconfig.h头文件中,文件中的选项均以<B>XS_</B>为前缀开头。
|
||
|
||
+ 以kd233为例,进行开始系统参数。
|
||
|
||
$ make BOARD=KD233 menuconfig
|
||
|
||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/kd233_menuconfig.png" />
|
||
对应的配置信息将存放在board/kd233/xsconfig.h头文件中,文件中的选项均以<B>XS_</B>为前缀开头。
|
||
|
||
## 编译命令
|
||
通用编译命令, 默认为BOARD=KD233
|
||
|
||
$ make [BOARD=<所选开发板>]
|
||
+ 当 make 命令被执行时,它会扫描当前目录下Makefile或makefile文件找到目标以及其依赖。如果这些依赖自身也是目标,继续为这些依赖扫描Makefile 建立其依赖关系,然后编译它们。
|
||
+ 创建build目录,目录下包含了各种目标文件、.bin、.elf等文件
|
||
+ 目标文件,以.o结尾的文件
|
||
+ .bin 二进制文件
|
||
+ .elf 可执行文件
|
||
## 烧录命令
|
||
+ 基于ARM开发板的烧录命令
|
||
|
||
$ sudo st-flash write <生成的.elf文件> 0x8000000
|
||
+ 基于RISC-V开发板的烧录命令
|
||
|
||
$ sudo kflash <生成的.elf文件> -t
|
||
|
||
## 运行界面
|
||
+ <B>XiUOS</B>运行在ARM开发板
|
||
|
||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/stm32_run_gui.png" />
|
||
|
||
+ <B>XiUOS</B>运行在RISC-V开发板
|
||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/riscv_run_gui.png" />
|
||
|
||
## FAQ
|