美文网首页
第十二章 官方 SDK 移植试验

第十二章 官方 SDK 移植试验

作者: 昨天剩下的一杯冷茶 | 来源:发表于2019-12-13 11:20 被阅读0次

    1、 安装SDK包
    双击 SDK_2.2_MCIM6ULL_RFP_Win.exe

    image.png

    2、 编写一个cc.h头文件

    #ifndef __CC_H
    #define __CC_H
    /***************************************************************
    Copyright © zuozhongkai Co., Ltd. 1998-2019. All rights reserved.
    文件名 :    cc.h
    作者     : 左忠凯
    版本     : V1.0
    描述     : 有关变量类型的定义,NXP官方SDK的一些移植文件会用到。
    其他     : 无
    日志     : 初版V1.0 2019/1/3 左忠凯创建
    ***************************************************************/
    
    /*
     * 自定义一些数据类型供库文件使用
     */
    #define     __I     volatile 
    #define     __O     volatile 
    #define     __IO    volatile
    
    typedef   signed          char int8_t;
    typedef   signed short     int int16_t;
    typedef   signed           int int32_t;
    typedef unsigned          char uint8_t;
    typedef unsigned short     int uint16_t;
    typedef unsigned           int uint32_t;
    typedef unsigned long     long uint64_t;
    typedef   signed char          s8;      
    typedef   signed short    int  s16;
    typedef   signed int           s32;
    typedef   signed long long int s64;
    typedef unsigned char          u8;
    typedef unsigned short int     u16;
    typedef unsigned int           u32;
    typedef unsigned long long int u64;
    
    
    #endif
    

    3、 将fsl_common.h、fsl_iomuxc.h、MCIMX6YH2.h复制到工程中,适当的修改。

    image.png image.png

    4、 修改main.c
    4.1.添加头文件

    #include "fsl_common.h"
    #include "fsl_iomuxc.h"
    #include "MCIMX6Y2.h"
    

    4.2、 修改这个led_init

    void led_init(void)
    {
        IOMUXC_SetPinMux(IOMUXC_GPIO1_IO03_GPIO1_IO03,0);
        //#define IOMUXC_GPIO1_IO03_GPIO1_IO03                         0x020E0068U, 0x5U, 0x00000000U, 0x0U, 0x020E02F4U
        IOMUXC_SetPinConfig(IOMUXC_GPIO1_IO03_GPIO1_IG03,0X10B0);
        
        GPIO1->GDIR |= (1<<3);
        
        GPIO1->DR &= ~(1<<3);
    }
    
    

    5、优化Makefile

    CROSS_COMPILE   ?=arm-linux-gnueabihf-
    NAME            ?=ledc
    
    CC              :=$(CROSS_COMPILE)gcc
    LD              :=$(CROSS_COMPILE)ld
    OBJCOPY         :=$(CROSS_COMPILE)objcopy
    OBJDUMP         :=$(CROSS_COMPILE)objdump
    
    
    OBJS            :=start.o main.o
    
    
    $(NAME).bin:$(OBJS)
        $(LD) -Timx6ul.lds -o $(NAME).elf $^
        $(OBJCOPY) -O binary -S $(NAME).elf $@
        $(OBJDUMP) -D -m arm $(NAME).elf > $(NAME).dis
        
    %.o:%.s
            $(CC) -Wall -nostdlib -c -O2 -o $@ $<
    
    %.o:%.S
            $(CC) -Wall -nostdlib -c -O2 -o $@ $<
            
    
    %.o:%.c
            $(CC) -Wall -nostdlib -c -O2 -o $@ $<
    
    
    
    clean:
        rm -rf *.o $(NAME).bin $(NAME).elf $(NAME).dis
        
        
    
    

    6、 编译&&测试

    相关文章

      网友评论

          本文标题:第十二章 官方 SDK 移植试验

          本文链接:https://www.haomeiwen.com/subject/eqfyictx.html