zoukankan      html  css  js  c++  java
  • TKStudio示例工程LPC1220_GPIO_LED学习

    第一步:打开工程

    工程文件在【配套例程】LPC1200开发实验例程从处下载,解压后使用.

    E:\Documents\program\Routine\example\LPC1220_GPIO\LPC1220_GPIO_LED\LPC1220_GPIO_LED.xmp

    第二步:配置工程目标

    • 在"工程"菜单下拉中选择"选择工程的目标设备"
    • 在"选择目标CPU"对话框中选择"LPC1227"

    image

    image

    第三步:目标工程配置

    image

    • 右键工程名,选择"配置目标LPC1200",或者单击快速配置按钮(手型指示的按钮),弹出"目标工程配置"对话框.

    • 时钟频率为12M(12MHz内部RC振荡器可调节到1%的精度,可以选择用作系统时钟 )
    • PLL允许CPU无需使用高频晶体而工作在最大CPU速率下,时钟可以由系统振荡器或内部RC振荡器提供

    (在ARM数据手册中PLL叫做倍频器,顾名思义它可以把频率翻倍,如果利用它把外部12M晶振倍频4倍的话,系统就可以工作在48MHz时钟频率下。)

    • 提供64引脚和48引脚的LQFP封装 )(学习板上是64引脚的封装,在做好的网关里是48引脚的封装.)

    LPC1227FBD48/301  LQFP48   和 LPC1227FBD64/301  LQFP64

    image

    可以看到不同是GPIO引脚的数目48(39)引脚的同64(55)引脚的要少.Flsah同为128kb,SRAM同为8kb.

    • 引脚图(64和48)
    image

    image

    • 两个串口UART0和UART1.image
    • AHB(外围总线模块,Advanced Peripheral Bus)外设区的大小为  2MB,可分配多达  128个外设。APB 外设区的大小为512KB,可分配多
      达  32个外设,每种类型的每一个外设空间的大小都为16KB,从而简化了每个外设的地址译码。
    • LPC122x含有4个独立的振荡器:系统振荡器内部RC振荡器  (IRC)、实时时钟振荡器(只用于RTC)和看门狗振荡器
    • 0xFFFF FFFF,即为2^32,1Gb=2^10MB,1Mb=2^10Kb,1Kb=2^10b,也就是1Gb=2^30b,那么2^32就是2^2*2^30=4*1GB.

    image

    • 主要配置"输出","C/C++","调试"三个页面:
      • "目标设备"页面可以看到选择的是"NXP LPC1227",本页默认配置,不修改.
      • 在"输出"页面中,"选择"输出文件夹,存放输出的文件.image
      • "c/c++"页面中,配置"包含路径".image
      • "调试"页面中,勾选"硬件调试","硬件调试配置".image
        • 在"调试"页面中,单击"配置",弹出"设置为CK100|LPC1111X101|NXP"对话框

    image

    (0)查看硬件是否连接好:

    单击"搜索",弹出对话框中可以看到硬件列表:

    image

    (1)硬件选择: 选择"LPC1227x301"下的"CK100",然后确定.

    image

    (2)单击"主要配置",勾选"缓冲","单步(软件单步)","断点(软件断点)","时钟模式(自动模式)","硬件复位"等.

    image

    (3)在"附加设置"中勾选"SWD",注:M0内核的芯片只支持SWD仿真调试。

    image

    (4)"程序烧写"中,选择"扇区擦除"或者"整片擦除",勾选"编程Flash""验证Flash".

    image

    (5)在"硬件自检"对话框中,单击"开始",看到"硬件初始化成功"可以单击"跳过",不会儿就看到"内部SRAM检查"结果.

    image

    **此时可以看到当前的"设置为CK100|LPC1227x301|NXP"对话框的设置信息:(从对话框的标题也可以看到设置的为LPC1227x301)

    硬件选择
    (1) 厂商:  NXP
    (2) 器件:  LPC1227x301
    (3) 仿真器:  CK100

    (4) POD类型: 

    主要设置
    (1) 缓冲代码.
    (2) 缓冲数据.
    (3) 小端.
    (4) 使用硬件复位.
    (5) 复位保持延时: 50毫秒.
    (6) 复位恢复延时: 500毫秒.
    (7) SYSRESETREQ复位.
    (8) 自动停止.
    (9) 系统时钟: 50.0000MHz.(小东说这个是倍频后的频率)
    (10) Jtag时钟: 0.1000MHz.

    (11) Jtag时钟模式: 自动时钟.

    附加设置
    (1) 使用SWD仿真模式.
    (2) 运行中不刷新.
    (2) 不捕获复位矢量.

    程序烧写
    (1) 擦除模式: 整片擦除.
    (2) 编程Flash.
    (3) 验证Flash.

    初始化宏
    (1) ini文件为 [C:\TKStudio\DRV\TKScope\configuration\NXP\LPC122x.ini].

    image

    至此,工程配置完成.

    第四步:生成工程

    右键工程,选择"重新生成工程"或者单击"重新生成工程"图标,生成工程,可以看到编译的结果:

    ---------- Build Project: LPC1220_GPIO_LED, Target: DebugInFlash ----------
    Compiling ".\CM0\core_cm0.c" ...
    Compiling ".\LPC12xx\system_LPC12xx.c" ...
    Assembling .\LPC12xx\startup\startup_LPC12xx.s ...
    Compiling ".\USER_CODE\main.c" ...
    Compiling ".\Drivers\source\debug_frmwrk.c" ...
    Compiling ".\Drivers\source\lpc12xx_adc.c" ...
    Compiling ".\Drivers\source\lpc12xx_comp.c" ...
    Compiling ".\Drivers\source\lpc12xx_crc.c" ...
    Compiling ".\Drivers\source\lpc12xx_dma.c" ...
    Compiling ".\Drivers\source\lpc12xx_flash.c" ...
    Compiling ".\Drivers\source\lpc12xx_gpio.c" ...
    Compiling ".\Drivers\source\lpc12xx_i2c.c" ...
    Compiling ".\Drivers\source\lpc12xx_iocon.c" ...
    Compiling ".\Drivers\source\lpc12xx_libcfg_default.c" ...
    Compiling ".\Drivers\source\lpc12xx_pmu.c" ...
    Compiling ".\Drivers\source\lpc12xx_rtc.c" ...
    Compiling ".\Drivers\source\lpc12xx_ssp.c" ...
    Compiling ".\Drivers\source\lpc12xx_sysctrl.c" ...
    Compiling ".\Drivers\source\lpc12xx_timer16.c" ...
    Compiling ".\Drivers\source\lpc12xx_timer32.c" ...
    Compiling ".\Drivers\source\lpc12xx_uart.c" ...
    Compiling ".\Drivers\source\lpc12xx_wdt.c" ...
    Linking...
    Program Size: Code=1000 RO-data=224 RW-data=16 ZI-data=1120 
    FromELF: Creating HEX file .\DebugInFlash\LPC1200.hex...
    .\DebugInFlash\LPC1200.axf - 0 Error(s),0 Warning(s).------------------------------------------------
    ========== 生成: 成功 1 个,失败 0 个 ==========

    image

    第五步:调试

    • 在"调试"菜单的下拉列表中选择"启动/停止调试"
    • 或者 快捷键"Shift+F5"
    • 或者 单击"启动/停止调试"图标

    image

    然后可以看到:

    CK100的lED闪烁 ---->说明程序在下载.

    TinyM0的LED闪烁---->说明程序确实下载进去了.(这个说法是错误的,见后面的分析)

    问题是:

    怎么闪烁了一会就不闪了?

    2013年3月29日 15:25:10


    问题:怎么闪烁了一会就不闪了?

    这个现象实际是,程序根本就没有下载进去,跑的是以前的程序.

    检查发现,使用"全片擦除"后程序顺利运行.

    说明买回来的芯片里面下载过程序:这个程序上电运行的结果是 LPC1227芯片的LED闪烁几次后就熄灭了.

  • 相关阅读:
    一次友情协助的渗透测试
    jQuery---微博发布案例
    jQuery---清空节点和删除节点
    jQuery---城市选择案例
    jQuery---创建和添加节点
    jQuery---动态创建节点
    jQuery---音乐导航
    jQuery---停止动画详解 stop();
    jQuery---手风琴案例+stop的使用(解决动画队列的问题)
    jQuery---自定义动画 animate();
  • 原文地址:https://www.cnblogs.com/xilifeng/p/2989003.html
Copyright © 2011-2022 走看看