使用qboot软件包制作bootloader
-
为了使bootloader尽量小,对内核及其组件进行了如下配置
线程间通信只用选择这两个:
为了方便调试,下面这项配置成这样:
组件中除了这两项其他都不选:
这个msh shell其实占用rom挺多的。我们用console打印调试信息,但是可以不用shell, shell只是一些命令集
网络组件全部不用,这些子菜单点进去,确认都没有选上!
-
配置qboot
开发板上红色灯是E7,低电平点亮,所以这里
running status led pin
设置为71,led on level
设置为0。
必须要开启片内flash
-
下载软件包并编译
运行pkgs --update
后,会自动下载qboot及其依赖包
下载完成后,在board/ports/fal
目录下,添加如下源文件(把其他文件删掉,只保留SConscript)
fal_cfg.h:
#ifndef _FAL_CFG_H_
#define _FAL_CFG_H_
#include <rtconfig.h>
#include <board.h>
#include <stdlib.h>
#define RT_APP_PART_ADDR (0x08000000 + 64 * 1024) // app partition begin address
#define NOR_FLASH_DEV_NAME FAL_USING_NOR_FLASH_DEV_NAME//"norflash0"
/* ===================== Flash device Configuration ========================= */
extern const struct fal_flash_dev stm32_onchip_flash;
//extern struct fal_flash_dev nor_flash0;
/* flash device table */
#define FAL_FLASH_DEV_TABLE \
{
\
&stm32_onchip_flash, \
/*&nor_flash0,*/ \
}
/* ====================== Partition Configuration ========================== */
#ifdef FAL_PART_HAS_TABLE_CFG
/* partition table */
#define FAL_PART_TABLE \
{
\
/*{FAL_PART_MAGIC_WORD, "bl", "onchip_flash", 0, 32*1024, 0},*/ \
{
FAL_PART_MAGIC_WORD, "app", "onchip_flash", 64*1024, 128*1024