我司采购了AM3703处理器做产品,第一次接触TI的产品,按照官方的SDK搭建了环境,交叉编译环境也用的官方的SDK,用的
ti-sdk-am37x-evm-06.00.00.00-Linux-x86-Install这个;
然后板子也配置好了
vi boards.cfg
pupil2 arm armv7 pupil2 ti omap3
注释了arch/arm/lib/Makefile里面的#COBJS-y += interrupts.o
这个是crt0.s
/*
* crt0.S - SPL entry for Pupil2 (AM3703)
* 作用:
* 1. 初始化堆栈指针
* 2. 清寄存器
* 3. 调用 C 层入口函数 start_spl()
* 4. 完全汇编安全,不 include C 头文件
*/
.syntax unified
.cpu cortex-a8
.arm
.section .text
.global _start
/* 汇编安全宏定义 */
.equ CONFIG_SPL_TEXT_BASE, 0x40200000
/* 汇编安全偏移量头文件 */
#include "asm-offsets.h" /* 仅汇编安全符号,不依赖 C 头文件 */
/* SPL 汇编入口 */
_start:
/* 清零通用寄存器 */
mov r0, #0
mov r1, #0
mov r2, #0
mov r3, #0
mov r4, #0
mov r5, #0
mov r6, #0
mov r7, #0
mov r8, #0
mov r9, #0
mov r10, #0
mov r11, #0
mov r12, #0
/* 设置堆栈指针,8-byte 对齐 */
ldr r13, =0x40300000
bic r13, r13, #7
/* 调用 C 层 SPL 初始化入口 */
bl spl_board_init
/* 如果 C 层返回,进入死循环 */
1: b 1b
* crt0.S - SPL entry for Pupil2 (AM3703)
* 作用:
* 1. 初始化堆栈指针
* 2. 清寄存器
* 3. 调用 C 层入口函数 start_spl()
* 4. 完全汇编安全,不 include C 头文件
*/
.syntax unified
.cpu cortex-a8
.arm
.section .text
.global _start
/* 汇编安全宏定义 */
.equ CONFIG_SPL_TEXT_BASE, 0x40200000
/* 汇编安全偏移量头文件 */
#include "asm-offsets.h" /* 仅汇编安全符号,不依赖 C 头文件 */
/* SPL 汇编入口 */
_start:
/* 清零通用寄存器 */
mov r0, #0
mov r1, #0
mov r2, #0
mov r3, #0
mov r4, #0
mov r5, #0
mov r6, #0
mov r7, #0
mov r8, #0
mov r9, #0
mov r10, #0
mov r11, #0
mov r12, #0
/* 设置堆栈指针,8-byte 对齐 */
ldr r13, =0x40300000
bic r13, r13, #7
/* 调用 C 层 SPL 初始化入口 */
bl spl_board_init
/* 如果 C 层返回,进入死循环 */
1: b 1b
我的Makefile文件 按照SDK的U-BOOT顶层Makefile写的
# 最终生成 libpupil2.o
obj-y := \
board-am3703-pupil2-spl.o \
board_mux_spl.o \
clock_spl.o \
ddr_spl.o \
timer_spl.o \
crt0.o
用
make pupil2_config # 生成 Pupil2 配置
make
交叉编译之后还是会报错make[1]: Entering directory `/home/l/Desktop/ti-sdk/board-support/board-port-labs/sitara-board-port-uboot/board/ti/pupil2'
make[1]: *** No targets. Stop.
make[1]: Leaving directory `/home/l/Desktop/ti-sdk/board-support/board-port-labs/sitara-board-port-uboot/board/ti/pupil2'
make: *** [board/ti/pupil2/libpupil2.o] Error 2
make[1]: *** No targets. Stop.
make[1]: Leaving directory `/home/l/Desktop/ti-sdk/board-support/board-port-labs/sitara-board-port-uboot/board/ti/pupil2'
make: *** [board/ti/pupil2/libpupil2.o] Error 2
求救help应该怎么解决,谢谢