12下一页
返回列表 发新帖我要提问本帖赏金: 1.00元(功能说明)

[Kinetis] 求一MDK5下的MKL16Z64的工程或建工程的方法

[复制链接]
 楼主| carlyang 发表于 2015-7-14 20:34 | 显示全部楼层 |阅读模式
新使用KL16Z64芯片,在网上论坛看了好些KL25/26的资料,工程样式和函数库很多很杂,我想用MDK5,你有标准的demo工程么?跟25/26的工程有什么差别么?
想学习使用App+common+Drv的模式,但是里边有些KL16的MemMapPtr_KL25Z4.h、MKL25Z4_CMSIS.h等等的替换文件没有。arm_cm0.c这些核心文件应该是可以通用的吧?

打赏榜单

xyz549040622 打赏了 1.00 元 2015-07-15

 楼主| carlyang 发表于 2015-7-14 20:42 | 显示全部楼层
新人,求教啊
春风的暖暖 发表于 2015-7-14 21:01 | 显示全部楼层
是的,arm_cm0.c这些核心文件是可以通用的
 楼主| carlyang 发表于 2015-7-14 22:40 | 显示全部楼层
春风的暖暖 发表于 2015-7-14 21:01
是的,arm_cm0.c这些核心文件是可以通用的

MemMapPtr_KL25Z4.h、MKL25Z4_CMSIS.h这几个头文件可以通用么?或者说有KL16专用的么?
FSL_TICS_ZJJ 发表于 2015-7-15 09:31 | 显示全部楼层
KL16可以使用KL26的代码。
KL26比KL16多了USB的功能。
你可以把相关文件里面的USB功能删掉调用。
或者你可以使用KSDK,KSDK里面有KL16的库的。

评分

参与人数 1威望 +2 收起 理由
carlyang + 2

查看全部评分

xyz549040622 发表于 2015-7-15 09:45 | 显示全部楼层
发帖有奖,希望常来21ic提问呦
小狗爱吃骨头 发表于 2015-7-15 10:07 | 显示全部楼层
好像用keil的不是太多,IAR的例程多一些
 楼主| carlyang 发表于 2015-7-15 10:47 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-7-15 09:31
KL16可以使用KL26的代码。
KL26比KL16多了USB的功能。
你可以把相关文件里面的USB功能删掉调用。

这样啊,ksdk我看了,我觉得里边的库为了兼容性写的有点繁杂,不需要那么多的功能。还是自己建立适合自己项目的工程好些。
MemMapPtr_KL25Z4.h、MKL25Z4_CMSIS.h我把相关KL16没有的功能定义不调用就可以咯?16/25/26相同功能的寄存器地址分配不会有变化吧?
FSL_TICS_ZJJ 发表于 2015-7-15 12:24 | 显示全部楼层
carlyang 发表于 2015-7-15 10:47
这样啊,ksdk我看了,我觉得里边的库为了兼容性写的有点繁杂,不需要那么多的功能。还是自己建立适合自己 ...

16和26的地址一样的,就是26多了USB模块。
 楼主| carlyang 发表于 2015-7-15 15:01 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-7-15 12:24
16和26的地址一样的,就是26多了USB模块。

在KL16Z4.h中没有SCB相关的定义啊,arm_cm0.c中的wait,stop定义不能用啊,这个怎么解决啊?25和16的头文件差别挺大的啊
FSL_TICS_ZJJ 发表于 2015-7-16 09:08 | 显示全部楼层
carlyang 发表于 2015-7-15 15:01
在KL16Z4.h中没有SCB相关的定义啊,arm_cm0.c中的wait,stop定义不能用啊,这个怎么解决啊?25和16的头文 ...

core_cm0plus.rar (7.54 KB, 下载次数: 10)
在core_cm0plus.h中

 楼主| carlyang 发表于 2015-7-21 10:29 | 显示全部楼层

这个把函数都写到头文件了,这样不太好吧。在其他地方调用不报错但是go to define跳转不过去,这是为啥?
我把它的函数整合到了cm0.c中,保留了宏和声明,就可以跳转。
FSL_TICS_ZJJ 发表于 2015-7-21 10:47 | 显示全部楼层
carlyang 发表于 2015-7-21 10:29
这个把函数都写到头文件了,这样不太好吧。在其他地方调用不报错但是go to define跳转不过去,这是为啥? ...

goto define跳转不过去,应该是路径没有添加问题。
你也可以整合到一起去使用。
 楼主| carlyang 发表于 2015-7-22 10:10 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-7-21 10:47
goto define跳转不过去,应该是路径没有添加问题。
你也可以整合到一起去使用。 ...

恩。我现在有个问题,想写一个bootloader,可从串口或应用区下载的程序包升级程序,我应该怎么分配flash空间,有没有成熟的方案?还有就是怎么从生成的hex或bin文件中知道代码需要写多大的flash空间?
 楼主| carlyang 发表于 2015-7-22 10:19 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-7-21 10:47
goto define跳转不过去,应该是路径没有添加问题。
你也可以整合到一起去使用。 ...

编译结束信息里边code是2300,而生成的hex和bin却都有8K。
FSL_TICS_ZJJ 发表于 2015-7-22 12:42 | 显示全部楼层
carlyang 发表于 2015-7-22 10:10
恩。我现在有个问题,想写一个bootloader,可从串口或应用区下载的程序包升级程序,我应该怎么分配flash ...

有的,如果写bootloader,那么你可以参考官方的AN2295,去官方搜索下,有中文应用笔记以及相关代码的。
FSL_TICS_ZJJ 发表于 2015-7-22 12:43 | 显示全部楼层
carlyang 发表于 2015-7-22 10:10
恩。我现在有个问题,想写一个bootloader,可从串口或应用区下载的程序包升级程序,我应该怎么分配flash ...

如果是hex,hex前面是带有地址的,你可以看你hex的地址到那个地方了,这样就知道占用了多大的 flash空间。
FSL_TICS_ZJJ 发表于 2015-7-22 12:43 | 显示全部楼层
carlyang 发表于 2015-7-22 10:19
编译结束信息里边code是2300,而生成的hex和bin却都有8K。

hex不是看文件大小,而是看里面的地址排布大小到多少。
 楼主| carlyang 发表于 2015-7-23 15:31 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-7-22 12:43
hex不是看文件大小,而是看里面的地址排布大小到多少。

用mdk建立的工程,基本没添加什么应用,编译显示code不到7000,生成hex20K,用fromelf工具转换到bin却有21K,生成bin文件不是下载到flash的可执行代码么?怎么比hex文件还大一点?
 楼主| carlyang 发表于 2015-7-23 15:35 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-7-22 12:43
hex不是看文件大小,而是看里面的地址排布大小到多少。

hex我知道是有地址和校验的信息,这个大点是肯定的,但是跟map文件里的code统计量比翻了3倍。。。
bin文件为啥这么大我就更纳闷了。。。
当只有启动文件和时钟配置函数,加个空main时,编译出来code有2K多点,生成的bin和hex都是8K左右。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

35

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

2

主题

35

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部