update directory structure

This commit is contained in:
Donggang Cao
2020-10-24 16:59:49 +08:00
parent 40d0a07254
commit 543e2c59d0
14 changed files with 122 additions and 31 deletions

56
docs/doc/appdev/dev.md Executable file
View File

@@ -0,0 +1,56 @@
# 开发步骤
## 前言
<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