查看: 5202|回复: 4

[LPC双核挑战赛] 【LPC54114-lite开发板学习】- 3-双核工程适配开发板

[复制链接]
  • TA的每日心情
    擦汗
    4 小时前
  • 签到天数: 2395 天

    连续签到: 3 天

    [LV.Master]伴坛终老

    56

    主题

    5289

    帖子

    73

    金牌会员

    Rank: 6Rank: 6

    积分
    25953
    最后登录
    2025-8-10
    发表于 2018-5-5 23:12:30 | 显示全部楼层 |阅读模式
    【LPC54114-lite开发板学习】- 3-双核工程适配开发板。
    开发板资源还是蛮丰富的,之前建立完工程后,其所有外设都是按照NXP的LPC54114开发板设置的,与我们的LPC54114-lite开发板不同,所以需要更新设置。本次的目标是把开发板的调试串口、四个按键、八个LED灯都能够驱动起来。
    首先根据开发板原理图,找到他们对应的GPIO口。
    仿真调试串口
    RXD----PIO0_0
    TXD----PIO0_1
    KEY
    PB2----PIO1_8
    PB3----PIO1_9
    PB4----PIO1_10
    PB5----PIO1_11
    LED-绿色
    LD4----LED7---PIO0_30
    LD5----LED6---PIO0_29
    LD6----LED5---PIO0_26
    LD7----LED4---PIO0_25
    LED-红色
    LD8----LED3---PIO0_22
    LD9----LED2---PIO0_21
    LD10---LED1---PIO0_19
    LD11---LED0---PIO0_15
    在Keil MDK中打开之前创建的双核工程,本来想在这个双核工程上自行修改LED和按键部分,但是看了看万利提供的开发板样例程序中已经把LED和按键的程序写好了,干脆直接移植使用就好了。
    首先把M0内核的工程中关于LED和Key的代码删除掉,这里只需要删除board.h中的L66~L120,L126~L167。
    0001.png
    拷贝万利Demo源码中的app_key.h,app_key.c,app_led.h,app_led.c四个文件到双核工程的M0工程的board目录下。
    0002.png
    右击board文件夹,选择添加现有文件。
    0003.png
    选中拷贝过来的两个.c文件,添加到工程。
    0004.png
    在工程的board目录下就会有这两个.c文件了,在board.h文件中包含app_key.h和app_led.h头文件。
    0005.png
    在source目录下的hello_world_core1.c文件中,删除关于LED的定义,主要是L44~L45,
    0006.png
    main函数中删除关于LED和抛出异常的代码
    0007.png
    然后增加新的LED初始化和翻转代码,编译后生成,core1_image.bin,这个文件在随后编译M4内核工程时需要用到。
    0008.png
    在M4工程上右击,选择设置为活动项目,baod.h中同样删除相关LED和Key的代码。
    0009.png
    同样拷贝之前四个文件到M4的board目录中。
    0010.png
    在board文件夹中添加两个.c文件,在board.h中包含两个头文件。
    0011.png
    在hello_world_core0.c中删除按键相关定义,修改按键名称为开发板上的相应名称。
    0012.png
    修改main函数中的按键相关定义。
    0013.png
    修改按键判断语句。
    0014.png
    至此,工程修改还没有完成,接下来是最重要的一步。添加incbin.S文件到M4工程。
    0015.png
    编译,下载到开发板。
    0016.png
    至此所有编码工作完成。按开发板的复位键,程序开始运行,LD11的红色LED灯开始闪烁,说明M0内核运行正常。按PB2,LED灯停止闪烁,M0内核被M4内核停止了,再按PB3,LED恢复闪烁,M0内核恢复运行了,说明M4内核运行正常。调试串口上用串口工具接收信息,内核的信息已经发送过来了。
    0017.png
    开发板已经能够很好的运行起来了,按键、LED、串口、双核心也都各自运行正常,代码在移植的过程中,部分文件名称没有修改,对于处女座来讲,自己修改就OK了。接下来的工作就是按照项目用到的外设搭建硬件环境,并且驱动各个外设了。

    评分

    参与人数 1 +2 收起 理由
    doatello + 2

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    4 小时前
  • 签到天数: 2395 天

    连续签到: 3 天

    [LV.Master]伴坛终老

    56

    主题

    5289

    帖子

    73

    金牌会员

    Rank: 6Rank: 6

    积分
    25953
    最后登录
    2025-8-10
     楼主| 发表于 2018-5-5 23:21:01 | 显示全部楼层
    忘记上传代码了,补上一个工程代码。
    SmartLock_Demo.zip (4.06 MB, 下载次数: 4)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    连续签到: 1 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7124
    最后登录
    2023-4-20
    发表于 2018-5-6 09:32:08 | 显示全部楼层
    感谢分享!
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-6-16 09:38
  • 签到天数: 589 天

    连续签到: 1 天

    [LV.9]以坛为家II

    3

    主题

    1039

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2387
    最后登录
    2020-6-16
    发表于 2018-5-6 09:47:37 | 显示全部楼层
    谢谢分享,工程模板和万利自带的有些区别。可能是先入为主吧,还是更适应万利的工程模板。下一步有没有机会发帖说明一下双核的工作机理呢?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    4 小时前
  • 签到天数: 2395 天

    连续签到: 3 天

    [LV.Master]伴坛终老

    56

    主题

    5289

    帖子

    73

    金牌会员

    Rank: 6Rank: 6

    积分
    25953
    最后登录
    2025-8-10
     楼主| 发表于 2018-5-6 10:51:15 | 显示全部楼层
    eric_bestmyself 发表于 2018-5-6 09:47
    谢谢分享,工程模板和万利自带的有些区别。可能是先入为主吧,还是更适应万利的工程模板。下一步有没有机会 ...

    万利的工程模板没有用到双核,双核大赛要求充分利用双核,所以只能自己琢磨,双核的工作机制和通讯部分正在研究,有了眉目再发帖共享吧。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-8-10 14:55 , Processed in 0.095624 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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