查看: 8509|回复: 18

[原创] 我的FRDM-KL25Z学习之旅——2、从零开始点灯

[复制链接]
  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-9-1 11:38:50 | 显示全部楼层 |阅读模式
    本帖最后由 JackieLaura 于 2015-9-1 11:57 编辑

    接上贴,发了板子的靓图,先不着急调试复杂的外设,首先依照惯例从点灯开始。

    准备材料:
           - PC机一台(Windows XP SP3 Pro)
           - MDK5.14(含Kinetis KL Pack)
           - FRDM-KL25Z开发板
           - OpenSDA驱动

    第一步:准备开发环境
           1、安装MDK5.14,并下载安装Kinetis KL Pack,安装过程略
           2、安装OpenSDA驱动,打开PEMicro官网填写邮箱下载最新的驱动和OpenSDA固件,安装过程略

    第二步:更新OpenSDA固件
    更新OpenSDA固件的方法,参考OpenSDA调试器更新了(支持Windows8)
           注:不更新OpenSDA固件,没法直接用来仿真调试程序,要想仿真必须要更换成Debug应用,这样就不能使用OpenSDA的虚拟串口功能了,所以干脆建议大家直接跟新OpenSDA的固件。

    第三步:新建工程
           1、打开MDK5,Project->New uVision Project,如图1。选择路径新建文件夹led,在led目录下新建工程目录MDK,工程名led存于MDK目录下,如图2 0.png
                                                                    图1
    1.png
                                                                     图2
           2、选择芯片型号,Freescale->KLxx Series->KL2X->MKL25Z128xxx4,如图3
    2.png
                                                                    图3
           3、配置Run-Time环境,先添加启动程序,添加完成后下方显示“需要添加额外的组件”的警告,如图4。再添加cmsis core,警告消失,如图5
    3.jpg
                                                                    图4
    4.jpg
                                                                     图5
           4、修改工程条目,点击如图6中的按钮打开编辑页面,按照图7编辑
    5.jpg
                                                                     图6
    6.png
                                                                       图7
           5、添加新文件到user工作组中,如图8,选择添加文件格式及路径,并编辑文件名,如图9
    7.png
                                                                       图8
    8.png
                                                                       图9
           6、项目配置,点击如图10中的菜单,弹出如图11的配置页面。
    16.jpg
                                                                       图10
    17.jpg
                                                                        图11
             a、配置output,选中Create HEX File,如图12
    12.png
                                                                        图12
             b、配置debug,选择右边PEMicro Debugger,然后点击右边的setting按钮,如图13,弹出如图14的界面,界面上显示没有连接USB设备的错误信息,按照图15选择OpenSDA(要先连接FRDM-KL25Z的OpenSDA到pc机USB),选择好后错误消失,再选择芯片型号为KL25Z128M4,如图16,点击确定,debug工具设置完成
    10.png
                                                                        图13
    18.jpg
                                                                      图14
    9.png
                                                                     图15
    11.jpg
                                                                   图16
          7、在led_main.c文件中添加如下代码,验证工程完整性,按F7编译工程,编译结果如图17
    1. #include "MKL25Z4.h"

    2. int main(void)
    3. {
    4.         while(1)
    5.         {
    6.         }
    7. }
    复制代码
    19.jpg
                                                                      图17

    第四步:实现代码
          1、初始化led配置,这里以RGB中的红灯为例,代码如下
            a、使能GPIO时钟
            b、配置PORT口为GPIO
            c、配置GPIO为输出
    1. static uint8_t
    2. led_init(void)
    3. {
    4.         SIM->SCGC5 |= SIM_SCGC5_PORTB_MASK;
    5.         
    6.         PORTB->PCR[18] |= PORT_PCR_MUX(1) ;
    7.         
    8.         PTB->PDDR |=  GPIO_PDDR_PDD(1 << 18);
    9.         
    10.         return 1;
    11. }
    复制代码


          2、添加主函数while循环中的任务,代码如下
    1. while(1)
    2.         {
    3.                 PTB->PSOR = GPIO_PSOR_PTSO(1 << 18);
    4.                 PTB->PCOR = GPIO_PCOR_PTCO(1 << 18);
    5.         }
    复制代码


    第五步:调试程序
          1、F7编译程序,程序如下
    1. #include "MKL25Z4.h"

    2. static uint8_t led_init(void);

    3. int main(void)
    4. {
    5.         led_init();
    6.         while(1)
    7.         {
    8.                 PTB->PSOR = GPIO_PSOR_PTSO(1 << 18);
    9.                 PTB->PCOR = GPIO_PCOR_PTCO(1 << 18);
    10.         }
    11. }

    12. static uint8_t
    13. led_init(void)
    14. {
    15.         SIM->SCGC5 |= SIM_SCGC5_PORTB_MASK;
    16.         
    17.         PORTB->PCR[18] |= PORT_PCR_MUX(1) ;
    18.         
    19.         PTB->PDDR |=  GPIO_PDDR_PDD(1 << 18);
    20.         
    21.         return 1;
    22. }
    复制代码
         2、Ctrl+F5的快捷键,进去调试模式,选中第10行,按F9添加断点,如图18。按F10,红灯会亮,再按F10,红灯会灭 。再选中第10行,按Ctrl+F9快捷键,第10行断点disabled,然后按F5,程序就能全速运行,全速运行效果如图19
    13.png
                                                                     图18
    14.jpg
                                                              图19

    工程包如下
    led.rar (17.15 KB, 下载次数: 21)
    14.jpg

    led.rar

    17.15 KB, 下载次数: 3, 下载积分: 威望 1

    评分

    参与人数 1NXP金币 +20 收起 理由
    小七 + 20

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-24 09:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    654

    主题

    3262

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    13153
    最后登录
    2019-1-27
    发表于 2015-9-2 16:42:52 | 显示全部楼层
    很好,支持!
    回复

    使用道具 举报

    该用户从未签到

    61

    主题

    965

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2394
    最后登录
    1970-1-1
    发表于 2015-9-2 17:37:31 | 显示全部楼层
    很详细,适合入门的人学习
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    连续签到: 1 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
    发表于 2015-9-2 19:23:59 | 显示全部楼层
      赞赞赞,幸苦了!
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    278

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1192
    最后登录
    2017-1-7
    发表于 2015-9-3 09:47:19 | 显示全部楼层
    想想当初第一次点亮小灯的时候那种兴奋劲儿
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-9-3 22:35:05 | 显示全部楼层
    ALTIUM2 发表于 2015-9-2 19:23
    赞赞赞,幸苦了!

    谢谢支持
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-9-3 22:36:32 | 显示全部楼层
    弋江浪子 发表于 2015-9-3 09:47
    想想当初第一次点亮小灯的时候那种兴奋劲儿

    还请多多指点
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-9-3 22:40:09 | 显示全部楼层
    吴飞剑 发表于 2015-9-2 18:06
    我的评估板是FRDM-KL05Z,移植官方的例程,想使用官方提供的平台,编译的时候提示
    ..\..\Drivers\common.h( ...

    需要自己设置红吧?我还没有用过KDS和CW10.6,有时间共同学习下
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-9-3 22:42:48 | 显示全部楼层

    谢谢支持
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-9-3 22:44:00 | 显示全部楼层
    anger0925 发表于 2015-9-2 17:37
    很详细,适合入门的人学习

    谢谢,希望自己坚持下来
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-29 05:12 , Processed in 0.106562 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表