查看: 504|回复: 2

[经验分享] LPC812最小可行系统

[复制链接]
  • TA的每日心情
    开心
    昨天 16:53
  • 签到天数: 1338 天

    [LV.10]以坛为家III

    88

    主题

    4296

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9065
    最后登录
    2024-5-10
    发表于 2023-8-6 16:08:51 | 显示全部楼层 |阅读模式
    LPC812最小可行系统
      LPC812的片上资源非常有限,虽然其仍然可以运行许多RTOS或物联网OS,但我终究还是将其定位于小模块级别,即完成单一功能,可有一定的复杂度算法支撑。
      基于上述应用背景,我们首先构建最小运行系统。主要包括系统时钟初始化,Systick时基时钟设定,GPIO控制LED灯。本次DIY开发使用Keil开发环境,使用git做为版本管理工具软件。
      我们在Keil中安装LPC812的Pack,然后,选择LPC812M101J芯片型号。
    开发板02.png
    开发板01.png
      将官方的LPCopen库导入到工程中,主要包括来自ARM的CMSIS标准头文件和来自NXP的lib库文件。
    开发板03.png
      接下来,我们需要自(can)已(kao)编写时钟初始化代码。之后,再编写main.c文件,初始化GPIO和systick,并通过systick实现延迟功能,控制LED的闪烁。代码如下:
    1. int main(void)
    2. {
    3.   uint8_t led_vale = 0;
    4.   // SystemCoreClockUpdate();
    5.   GPIOInit();
    6.   GPIOSetDir(0, 1, 1);

    7.   SysTick_Config(30000);

    8.   while (1)
    9.   {
    10.     if (time_line_ms > 500)
    11.     {
    12.       time_line_ms = 0;
    13.       if (led_vale == 0)
    14.       {
    15.         GPIOSetBitValue(0, 1, 0);
    16.         led_vale = 1;
    17.       }
    18.       else
    19.       {
    20.         GPIOSetBitValue(0, 1, 1);
    21.         led_vale = 0;
    22.       }
    23.     };
    24.   }
    25. }
    复制代码
      编译,查看编译结果及map文件内容。
    1. ==============================================================================


    2.       Code (inc. data)   RO Data    RW Data    ZI Data      Debug   

    3.        844         92        224          4       1028      26575   Grand Totals
    4.        844         92        224          4       1028      26575   ELF Image Totals
    5.        844         92        224          4          0          0   ROM Totals

    6. ==============================================================================

    7.     Total RO  Size (Code + RO Data)                 1068 (   1.04kB)
    8.     Total RW  Size (RW Data + ZI Data)              1032 (   1.01kB)
    9.     Total ROM Size (Code + RO Data + RW Data)       1072 (   1.05kB)

    10. ==============================================================================
    复制代码
    下载到LPC812开发板,看看效果。
    闪灯.gif

      效果符合预期,代码push到master分支,作为第一次commit提交吧!










    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    半小时前
  • 签到天数: 1486 天

    [LV.10]以坛为家III

    203

    主题

    2万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    93209
    最后登录
    2024-5-10
    发表于 2023-8-7 09:41:40 | 显示全部楼层
    支持一下
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 16:53
  • 签到天数: 1338 天

    [LV.10]以坛为家III

    88

    主题

    4296

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9065
    最后登录
    2024-5-10
     楼主| 发表于 2023-8-7 16:55:25 | 显示全部楼层

    谢谢大佬的支持
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-10 16:03 , Processed in 0.111577 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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