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

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

[复制链接]
3806|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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专用的么?

使用特权

评论回复
5
FSL_TICS_ZJJ| | 2015-7-15 09:31 | 只看该作者
KL16可以使用KL26的代码。
KL26比KL16多了USB的功能。
你可以把相关文件里面的USB功能删掉调用。
或者你可以使用KSDK,KSDK里面有KL16的库的。

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
carlyang + 2
6
xyz549040622| | 2015-7-15 09:45 | 只看该作者
发帖有奖,希望常来21ic提问呦

使用特权

评论回复
7
小狗爱吃骨头| | 2015-7-15 10:07 | 只看该作者
好像用keil的不是太多,IAR的例程多一些

使用特权

评论回复
8
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相同功能的寄存器地址分配不会有变化吧?

使用特权

评论回复
9
FSL_TICS_ZJJ| | 2015-7-15 12:24 | 只看该作者
carlyang 发表于 2015-7-15 10:47
这样啊,ksdk我看了,我觉得里边的库为了兼容性写的有点繁杂,不需要那么多的功能。还是自己建立适合自己 ...

16和26的地址一样的,就是26多了USB模块。

使用特权

评论回复
10
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的头文件差别挺大的啊

使用特权

评论回复
11
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)
在core_cm0plus.h中

使用特权

评论回复
12
carlyang|  楼主 | 2015-7-21 10:29 | 只看该作者

这个把函数都写到头文件了,这样不太好吧。在其他地方调用不报错但是go to define跳转不过去,这是为啥?
我把它的函数整合到了cm0.c中,保留了宏和声明,就可以跳转。

使用特权

评论回复
13
FSL_TICS_ZJJ| | 2015-7-21 10:47 | 只看该作者
carlyang 发表于 2015-7-21 10:29
这个把函数都写到头文件了,这样不太好吧。在其他地方调用不报错但是go to define跳转不过去,这是为啥? ...

goto define跳转不过去,应该是路径没有添加问题。
你也可以整合到一起去使用。

使用特权

评论回复
14
carlyang|  楼主 | 2015-7-22 10:10 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-7-21 10:47
goto define跳转不过去,应该是路径没有添加问题。
你也可以整合到一起去使用。 ...

恩。我现在有个问题,想写一个bootloader,可从串口或应用区下载的程序包升级程序,我应该怎么分配flash空间,有没有成熟的方案?还有就是怎么从生成的hex或bin文件中知道代码需要写多大的flash空间?

使用特权

评论回复
15
carlyang|  楼主 | 2015-7-22 10:19 | 只看该作者
FSL_TICS_ZJJ 发表于 2015-7-21 10:47
goto define跳转不过去,应该是路径没有添加问题。
你也可以整合到一起去使用。 ...

编译结束信息里边code是2300,而生成的hex和bin却都有8K。

使用特权

评论回复
16
FSL_TICS_ZJJ| | 2015-7-22 12:42 | 只看该作者
carlyang 发表于 2015-7-22 10:10
恩。我现在有个问题,想写一个bootloader,可从串口或应用区下载的程序包升级程序,我应该怎么分配flash ...

有的,如果写bootloader,那么你可以参考官方的AN2295,去官方搜索下,有中文应用笔记以及相关代码的。

使用特权

评论回复
17
FSL_TICS_ZJJ| | 2015-7-22 12:43 | 只看该作者
carlyang 发表于 2015-7-22 10:10
恩。我现在有个问题,想写一个bootloader,可从串口或应用区下载的程序包升级程序,我应该怎么分配flash ...

如果是hex,hex前面是带有地址的,你可以看你hex的地址到那个地方了,这样就知道占用了多大的 flash空间。

使用特权

评论回复
18
FSL_TICS_ZJJ| | 2015-7-22 12:43 | 只看该作者
carlyang 发表于 2015-7-22 10:19
编译结束信息里边code是2300,而生成的hex和bin却都有8K。

hex不是看文件大小,而是看里面的地址排布大小到多少。

使用特权

评论回复
19
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文件还大一点?

使用特权

评论回复
20
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左右。

使用特权

评论回复
发新帖 本帖赏金 1.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

35

帖子

0

粉丝