白菜板裸机程序转换成智龙板PMON引导程序

裸机程序转换成PMON引导程序

根据勤为本 gitee 上的龙芯1C 裸机程序(应用于白菜板),修改 Makefile 和 ld.script 和 start.s 使之应用于智龙开发板。

1. 替换修改文件

1.1 make与ld.script

将 Makefile 与 ld.script 复制到 勤为本的 src 目录下,替换原来的文件。
Makefile 修改部分为 All:

# 所有的文件
ALL_HEADER_FILE = $(HEADERS) 
ALL_SRC = $(SRC_S) $(SRC_C) 

# 最终的目标文件
DEST = OpenLoongsonLib1c

all:$(DEST)

$(DEST):$(ALL_SRC) $(ALL_HEADER_FILE)
	${CC} -g -O2 -Wall -fno-pic -N -o $(DEST) $(ALL_SRC) $(CCFLAGS) $(INCLUDES) -static -nostartfiles -e main -Wl,-m -Wl,elf32ltsmip -T ld.script
#	cp $(DEST) /tftpboot/
clean:
	rm -f $(DEST) *.o

ld.script文件中,将SECTIONS的起始地址改为: 0x802000000

1.2 sdram_cfg.h

第42行

#if 1
// 白菜板8MB
//如果是智龙开发板,这里改成
#if 0

2. 编译

在 cmd 中运行命令

mingw32-make 

可生成 可执行 文件 openloongsonlib1c

3. clean

在 cmd 中运行命令

mingw32-make clean

可清除 可执行 文件 openloongsonlib1c

4.start.s 修改部分为

只留下:

.globl general_exception
.globl handle_int
.globl handle_reserved

添加:

.section ".text"

其实还应该删除一些 start.s 中的部分代码,因为不需要将数据从 spi flash 中搬到ram。 现在是从 0x802000000 中启动。还没有研究透彻,暂时不修改了。

你可能感兴趣的:(智龙开发板编译)