[FREERTOS_SDK_DIR]/example/template
目录,作为 freertos 应用工程$ ls
Kconfig --> 应用工程配置menu文件
makefile --> makefile
main.c --> 包含main函数
sdkconfig --> 配置输出
sdkconfig.h --> 配置输出
inc --> 用户头文件*
src --> 用户源文件*
请注意使用小写makefile,使用Makefile在部分平台不能被识别
例子已经提供好具体的编译指令,以下进行介绍: 1. make 将目录下的工程进行编译 2. make clean 将目录下的工程进行清理 3. make image 将目录下的工程进行编译,并将生成的elf 复制到目标地址 4. make list_kconfig 当前工程支持哪些配置文件 5. make load_kconfig LOAD_CONFIG_NAME=[kconfig configuration files] 将预设配置加载至工程中 6. make menuconfig 配置目录下的参数变量 7. make backup_kconfig 将目录下的sdkconfig 备份到./configs下
例如:配置成E2000D,使用对应的默认配置,如E2000d 32位:
$ make load_kconfig LOAD_CONFIG_NAME=e2000d_aarch32_demo_i2c
编译应用工程, 生成*.bin
或者*.elf
文件用于下载到开发板(bin文件生成配置可选,使用make menuconfig 具体使用可参考standalone SDK手册)
在host侧完成构建
$ make clean image
e2000d_aarch32_demo_eg.bin --> 二进制文件
e2000d_aarch32_demo_eg.elf --> ELF文件
e2000d_aarch32_demo_eg.map --> 内存布局文件
host
侧安装tftp
服务sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd
新建 tftboot 目录, /mnt/d/tftboot
, 确保 tftboot 目录有执行权限chmod 777 /**/tftboot
配置主机 tftpboot 服务, 新建并配置文件/etc/xinetd.d/tftp
# /etc/xinetd.d/tftp
server tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /mnt/d/tftboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
tftp
服务,生成默认配置$ sudo service tftpd-hpa start
tftp
配置,指向tftboot
目录
修改/etc/default/tftpd-hpa$ sudo nano /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/mnt/d/tftboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"
tftp
服务$ sudo service tftpd-hpa restart
tftp
服务的可用性
登录
tftp
服务,获取tftboot
目录下的一个文件
$ tftp 192.168.4.50
tftp> get test1234
tftp> q
tftp.zip
解压到开发环境,如D:\phytium-dev\tftp
D:\phytium-dev\tftp
,运行.\reinstall.cmd
完成Tftpd服务安装D:\phytium-dev\phytium-free-rtos-sdk
目录下的run_tftd.cmd
,启动tftp工具,设置tftp目录和ip%PHYTIUM_IDE_PATH%\tftp
目录下,开发板即可通过tftpboot
加载镜像在
template_mingw64
工程中,通过定义USR_BOOT_DIR
可以将编译的镜像自动拷贝带tftp目录下
BIN
文件或者ELF
文件复制到tftboot
目录make image
阶段,可以省略,如果未成功,可进行手动复制$ cp ./freertos.bin /mnt/d/tftboot
$ cp ./freertos.elf /mnt/d/tftboot
u-boot
界面,配置开发板ip
,host
侧ip
和网关地址# setenv ipaddr 192.168.4.20
# setenv serverip 192.168.4.50
# setenv gatewayip 192.168.4.1
镜像启动的地址为
0x80100000
, 对于BIN
文件,需要直接加载到0x80100000
,对于ELF
文件,启动地址会自动获取,需要加载到DRAM
中一段可用的地址,这里选择0x90100000
,根据实际的文件大小,也可以选择别的地址
AARCH32/AARCH64
支持加载BIN
文件到启动地址,刷新缓存后,通过go
命令跳转启动# tftpboot 0x80100000 freertos.bin
# dcache flush
# go 0x80100000
AARCH32/AARCH64
支持加载ELF
文件到DRAM
,通过bootelf
解析跳转启动# tftpboot 0x90100000 freertos.elf
# bootelf -p 0x90100000
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。