新闻中心

EEPW首页>模拟技术>设计应用> 创建并移植K10 BSP包的具体步骤和方法(二)

创建并移植K10 BSP包的具体步骤和方法(二)

作者: 时间:2013-09-30 来源:网络 收藏

3.代码的修改

  在C:FreescaleFreescale_MQX_4_0mqxsourcepspcortex_m文件夹里的psp_cpudef.h文件中可以找到支持Kinetis/K20/K30/K40/K50/K60/K70等相关芯片的PSP宏定义,例如支持DN512的宏定义为:

  #define PSP_CPU_MDN512Z (PSP_CPU_NUM(PSP_CPU_ARCH_ARM_CORTEX_M4, PSP_CPU_GROUP_KINETIS_K1X, 2))

  同时在该文件中还可以找到所有Freescale指定PSP处理器支持包所支持内核的宏定义,如ColdFire,PPC,Cortex-A5,Cortex-A8等。

  在本文中,我们创建的是针对K10DN512的BSP开发包,所以需要用上述的宏定义,将user_config.h文件中的MQX_CPU定义

  #define MQX_CPU PSP_CPU_MK60DN512Z

  修改为:

  #define MQX_CPU PSP_CPU_MK10DN512Z

  此时点击编译按钮会出现错误提示,如下图5所示。

创建并移植K10 BSP包的具体步骤和方法(二)

  图5. 头文件错误

  出现这个错误是由于在C:FreescaleFreescale_MQX_4_0mqxsourcepspcortex_mkinetis.h中找不到头文件MK10DZ10.h,需要从以下的IAR安装目录中寻找:

  C:Program FilesIAR SystemsEmbedded Workbench 6.5armincFreescale

  然后将该文件拷贝到C:FreescaleFreescale_MQX_4_0mqxsourcepspcortex_mcpu中进行编译。

  编译仍有错误出现,如下图6所示。

  这个错误主要是由于移植使用的是K60的,因此里面含有以太网ENET部分和USB部分的代码,而在K10芯片中是没有这些功能模块的,在IAR IDE Workspace工作台环境下,需要将外围I/O驱动(Peripheral IO Drivers)中的ENET和USB等文件夹删除,同时将K10DN512 BSP Files文件夹中的 init_usb.c和init_enet.c文件删除。另外在K10DN512 BSP Files中,由于在MQX安装目录C:FreescaleFreescale_MQX_4_0mqxsourcebspK10DN512 文件下的init_gpio.c和bsp.h中初始化了ent和usb部分的,需要打开这两个文件,找到_bsp_ent_io_init和bsp_usb_io_init的代码部分,然后直接进行删除。此时再进行编译,则应该没有错误出现了。

图6以太网及USB相关的文件编译错误

  图6以太网及USB相关的文件编译错误

  下一步需要修改的,是系统的时钟设置。针对K60DN512, MQX默认的外部时钟是50MHz。 对于K20系列MQX默认的外部时钟是8MHz,如果目标板的时钟和默认的外部时钟不一样,则需要重新配置。例如,如果这里选择25MHz的无源晶体作为外接时钟,那么就需要修改bsp_cm.h中的时钟设置,将CPU_XTAL_CLK_HZ的时钟修改为25MHz


上一页 1 2 3 4 下一页

关键词:K10BSP包

评论


相关推荐

技术专区

关闭