NXP官方sdk移植

.1、新建 cc.h 文件

SDK 包里面会用到很多数据类型,所以我们需要在 cc.h 里面定义一些常用的数据类型。

#define _I volatile

#define_O volatile

#define _IO volatile

typedef signed char

typedef Bigned short

typedef signed int

typedef unsigned char

typedef unsigned short

typedef unsigned int

typedef unsigned long long

int8_t;

int16_t;

int32_t;

uint8_t;

uint16_t;

uint32_t;

uint64_t;

typedef signed char s8;

typedef signed short s16;

typedef signed int s32;

typedef signed long long s64;

typedef unsigned char u8;

typedef unsigned short u16;

typedef unsigned int u32;

typedef unsigned long long u64;

#endif

2、移植文件.

需要移植的文件 fs.common.h、fsl.iomuxc.h、MCIMX6Y2.h。

将这三个文件与资料中的文件进行比较,删去不必要的一些代码段。

复制之前模仿stm32的代码。

3、编写链接脚本

SECTIONS{
.=0X87808000;
.text :{
start.o
*(.text)

}
.rodata ALIGN(4):{*(.rodata*))
.data ALIGN(4):*(.data)
_bss_start=.;
.bss ALIGN(4):{*(.bss)*(COMMON)}
bss_end=.;
}

4、编写Makefile

CROSS_COMPILE ?= arm-Linux-gnueabihf-

NAME?= ledc 

cc :=$(CROSS_COMPILE)

gcc :=$(CROSS_COMPILE)1d  

0BJCOPY  :=$(CROSS_COMPILE)objcopy

OBJDUMP :=$(CROSS_COMPILE)objdump

OBJS := start.o main.o

$(NAME).bin : $(OBJS)

$(LD)-Timx6u.lds -o $(NAME).elf $^

$(OBJCOPY)-O binary -S $(NAME).elf se

$(OBJDUMP)-D -m arm $(NAME).elf > $(NAME).dis

%.o:%.c

$(CC)-Wall -nostdlib -c -02 -o $@ $<

%. o :%.S

$(CC)-Wall -nostdlib -c -02 .o $@ $<

clean:

rm -rf *.o $(NAME).bin $(NAME).elf $(NAME).dis

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值