查看: 1000|回复: 6

[原创] 【LPC845-BRK板卡试用申请】(一)开发板体验之上电体验

[复制链接]
  • TA的每日心情
    奋斗
    昨天 09:27
  • 签到天数: 595 天

    [LV.9]以坛为家II

    51

    主题

    2225

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7072
    最后登录
    2024-4-28
    发表于 2023-4-2 22:36:35 | 显示全部楼层 |阅读模式
    本帖最后由 andeyqi 于 2023-4-6 21:08 编辑

    之前看大佬分享的文章讲解了LPC845的flash 使用说明的文章,论坛上也有转载(为什么说内部Flash驱动是个既冷门又不冷门的话题 | LPC Flash IAP),阅读完后社区正好有共享板卡申请的活动,恰巧有上述文章提到的LPC的开发板,就申请了块玩玩,感谢@日天兄支持的开发板,今天收到了开发板正好是周末迫不及待的上电体验了下。
    开发板简介(以下信息摘自NXP官网):

    这款LPC845 breakout 开发板搭载了恩智浦基于Cortex-M0 +的低端LPC84x系列MCU,提供了强大而灵活的开发系统,并且具备超低成本的优势。 该板卡可与一系列开发工具一起使用,包括MCUXpresso IDE。 LPCXpresso845 breakout开发板由恩智浦开发,可用于评估LPC84x系列MCU并进行原型设计,并且板载CMSIS-DAP调试和VCOM端口,RGB用户LED,电容式触摸按钮,用户电位计,可通过访问38个LPC845端口引脚轻松实现原型设计。

    基于Arm®Cortex®-M0+ core, LPC84x是一个低成本的32位单片机家族,工作频率高达30mhz。LPC84x MCU系列支持高达64 KB的闪存和16 KB的SRAM。该系列采用FRO作为时钟源,在低电流模式下具有出色的功效。 LPC84x MCU系列的外设包括CRC引擎,四个I2C总线接口,多达五个UART,多达两个SPI接口,电容式触摸接口(Q3中的支持),一个多速率定时器,自唤醒 -  上升定时器,SCTimer / PWM,一个通用32位计数器/定时器,一个DMA,一个12位ADC,两个10位DAC,一个模拟比较器,通过开关矩阵的功能可配置I / O端口,一个输入 模式匹配引擎,以及多达54个通用I / O引脚。该设备完全由恩智浦的MCUXpresso软件和工具提供支持,这是一套针对Kinetis,LPC和i.MX RT微控制器的全面而有凝聚力的免费软件开发工具。 MCUXpresso SDK还包括Keil MDK和IAR EWARM的项目文件。



    • LPC845采用QFN48封装
    • 兼容MCUXpresso IDE和其他流行的工具链(包括IAR和Keil)
    • 板载CMSIS-DAP调试接口,包括VCOM支持(UART通过USB桥接到主机)
    • 可选的外部探针头
    • 使用38端口引脚轻松进行原型设计
    • 红、绿、蓝三色LED
    • 电容式触摸评估按钮
    • 用户电位器
    • 目标ISP和用户按钮
    • 目标重置按钮
    • 允许测量MCU消耗的电流的选项
    • 基于LPC11U35 MCU,带有VCOM端口的板载CMSIS-DAP(调试探针)

    配上一张开发板的靓照:


    1开发板.jpg

    原理图如下:
    原理图.png
    lpc845map.png


    开发环境:

    LPC845-BRK 的SDK包可以支持我们常用的IAR/KEIL/MCUXpresso IDE 开发环境,之前IAR/KEIL 之前用的比较多,这次尝试使用下MCUXpresso  换个新环境体验下。

    LPC845-BRK 的SDK 可以从该链接根据自己的开发板型号及开发环境选取合适的软件包(MCUXpresso软件开发套件(SDK)),根据自己的开发环境配置SDK 后完成SDK制作下载
    SDK.png


    上电体验:

    下载的SDK 里面包含了很多驱动和demo 的示例程序,本次实验选取的hello_world 示例程序。
    1. D:\WORK\SDK_2_13_0_LPC845BREAKOUT\BOARDS\LPC845BREAKOUT
    2. ├───demo_apps
    3. │   ├───hello_world
    4. │   │   ├───armgcc
    5. │   │   ├───iar
    6. │   │   │   ├───Debug
    7. │   │   │   │   ├───BrowseInfo
    8. │   │   │   │   │   ├───board
    9. │   │   │   │   │   ├───component
    10. │   │   │   │   │   │   └───uart
    11. │   │   │   │   │   ├───device
    12. │   │   │   │   │   ├───drivers
    13. │   │   │   │   │   ├───source
    14. │   │   │   │   │   └───utilities
    15. │   │   │   │   ├───list
    16. │   │   │   │   │   ├───board
    17. │   │   │   │   │   ├───CMSIS
    18. │   │   │   │   │   ├───component
    19. │   │   │   │   │   │   └───uart
    20. │   │   │   │   │   ├───device
    21. │   │   │   │   │   ├───doc
    22. │   │   │   │   │   ├───drivers
    23. │   │   │   │   │   ├───source
    24. │   │   │   │   │   ├───startup
    25. │   │   │   │   │   └───utilities
    26. │   │   │   │   └───obj
    27. │   │   │   │       ├───board
    28. │   │   │   │       ├───CMSIS
    29. │   │   │   │       ├───component
    30. │   │   │   │       │   └───uart
    31. │   │   │   │       ├───device
    32. │   │   │   │       ├───doc
    33. │   │   │   │       ├───drivers
    34. │   │   │   │       ├───source
    35. │   │   │   │       ├───startup
    36. │   │   │   │       └───utilities
    37. │   │   │   └───settings
    38. │   │   └───mdk
    39. │   ├───led_blinky
    40. │   │   ├───armgcc
    41. │   │   ├───iar
    42. │   │   └───mdk
    43. │   └───power_mode_switch_lpc
    44. │       ├───armgcc
    45. │       ├───iar
    46. │       └───mdk
    47. ├───driver_examples
    48. │   ├───acomp
    49. │   │   ├───acomp_basic
    50. │   │   │   ├───armgcc
    51. │   │   │   ├───iar
    52. │   │   │   └───mdk
    53. │   │   └───acomp_interrupt
    54. │   │       ├───armgcc
    55. │   │       ├───iar
    56. │   │       └───mdk
    57. │   ├───adc
    58. │   │   ├───lpc_adc_basic
    59. │   │   │   ├───armgcc
    60. │   │   │   ├───iar
    61. │   │   │   └───mdk
    62. │   │   ├───lpc_adc_burst
    63. │   │   │   ├───armgcc
    64. │   │   │   ├───iar
    65. │   │   │   └───mdk
    66. │   │   ├───lpc_adc_dma
    67. │   │   │   ├───armgcc
    68. │   │   │   ├───iar
    69. │   │   │   └───mdk
    70. │   │   └───lpc_adc_interrupt
    71. │   │       ├───armgcc
    72. │   │       ├───iar
    73. │   │       └───mdk
    74. │   ├───capt
    75. │   │   ├───capt_acomp
    76. │   │   │   ├───armgcc
    77. │   │   │   ├───iar
    78. │   │   │   └───mdk
    79. │   │   ├───capt_acomp_continuous
    80. │   │   │   ├───armgcc
    81. │   │   │   ├───iar
    82. │   │   │   └───mdk
    83. │   │   ├───capt_basic
    84. │   │   │   ├───armgcc
    85. │   │   │   ├───iar
    86. │   │   │   └───mdk
    87. │   │   └───capt_basic_continuous
    88. │   │       ├───armgcc
    89. │   │       ├───iar
    90. │   │       └───mdk
    91. │   ├───crc
    92. │   │   ├───armgcc
    93. │   │   ├───iar
    94. │   │   └───mdk
    95. │   ├───ctimer
    96. │   │   ├───simple_match
    97. │   │   │   ├───armgcc
    98. │   │   │   ├───iar
    99. │   │   │   └───mdk
    100. │   │   ├───simple_match_interrupt
    101. │   │   │   ├───armgcc
    102. │   │   │   ├───iar
    103. │   │   │   └───mdk
    104. │   │   ├───simple_pwm
    105. │   │   │   ├───armgcc
    106. │   │   │   ├───iar
    107. │   │   │   └───mdk
    108. │   │   └───simple_pwm_interrupt
    109. │   │       ├───armgcc
    110. │   │       ├───iar
    111. │   │       └───mdk
    112. │   ├───dac
    113. │   │   ├───lpc_dac_basic
    114. │   │   │   ├───armgcc
    115. │   │   │   ├───iar
    116. │   │   │   └───mdk
    117. │   │   ├───lpc_dac_dma
    118. │   │   │   ├───armgcc
    119. │   │   │   ├───iar
    120. │   │   │   └───mdk
    121. │   │   └───lpc_dac_interrupt
    122. │   │       ├───armgcc
    123. │   │       ├───iar
    124. │   │       └───mdk
    125. │   ├───dma
    126. │   │   ├───channel_chain
    127. │   │   │   ├───armgcc
    128. │   │   │   ├───iar
    129. │   │   │   └───mdk
    130. │   │   ├───interleave_transfer
    131. │   │   │   ├───armgcc
    132. │   │   │   ├───iar
    133. │   │   │   └───mdk
    134. │   │   ├───linked_transfer
    135. │   │   │   ├───armgcc
    136. │   │   │   ├───iar
    137. │   │   │   └───mdk
    138. │   │   ├───m2m_polling
    139. │   │   │   ├───armgcc
    140. │   │   │   ├───iar
    141. │   │   │   └───mdk
    142. │   │   ├───memory_to_memory
    143. │   │   │   ├───armgcc
    144. │   │   │   ├───iar
    145. │   │   │   └───mdk
    146. │   │   └───wrap_transfer
    147. │   │       ├───armgcc
    148. │   │       ├───iar
    149. │   │       └───mdk
    150. │   ├───gpio
    151. │   │   └───led_output
    152. │   │       ├───armgcc
    153. │   │       ├───iar
    154. │   │       └───mdk
    155. │   ├───iap
    156. │   │   ├───iap_basic
    157. │   │   │   ├───armgcc
    158. │   │   │   ├───iar
    159. │   │   │   └───mdk
    160. │   │   ├───iap_faim
    161. │   │   │   ├───armgcc
    162. │   │   │   ├───iar
    163. │   │   │   └───mdk
    164. │   │   └───iap_flash
    165. │   │       ├───armgcc
    166. │   │       ├───iar
    167. │   │       └───mdk
    168. │   ├───mrt
    169. │   │   ├───armgcc
    170. │   │   ├───iar
    171. │   │   └───mdk
    172. │   ├───pint
    173. │   │   ├───pattern_match
    174. │   │   │   ├───armgcc
    175. │   │   │   ├───iar
    176. │   │   │   └───mdk
    177. │   │   └───pin_interrupt
    178. │   │       ├───armgcc
    179. │   │       ├───iar
    180. │   │       └───mdk
    181. │   ├───sctimer
    182. │   │   ├───16bit_counter
    183. │   │   │   ├───armgcc
    184. │   │   │   ├───iar
    185. │   │   │   └───mdk
    186. │   │   ├───multi_state_pwm
    187. │   │   │   ├───armgcc
    188. │   │   │   ├───iar
    189. │   │   │   └───mdk
    190. │   │   ├───pwm_with_dutycyle_change
    191. │   │   │   ├───armgcc
    192. │   │   │   ├───iar
    193. │   │   │   └───mdk
    194. │   │   └───simple_pwm
    195. │   │       ├───armgcc
    196. │   │       ├───iar
    197. │   │       └───mdk
    198. │   ├───spi
    199. │   │   ├───interrupt
    200. │   │   │   ├───master
    201. │   │   │   │   ├───armgcc
    202. │   │   │   │   ├───iar
    203. │   │   │   │   └───mdk
    204. │   │   │   └───slave
    205. │   │   │       ├───armgcc
    206. │   │   │       ├───iar
    207. │   │   │       └───mdk
    208. │   │   ├───polling
    209. │   │   │   ├───master
    210. │   │   │   │   ├───armgcc
    211. │   │   │   │   ├───iar
    212. │   │   │   │   └───mdk
    213. │   │   │   └───slave
    214. │   │   │       ├───armgcc
    215. │   │   │       ├───iar
    216. │   │   │       └───mdk
    217. │   │   ├───transfer_dma
    218. │   │   │   ├───master
    219. │   │   │   │   ├───armgcc
    220. │   │   │   │   ├───iar
    221. │   │   │   │   └───mdk
    222. │   │   │   └───slave
    223. │   │   │       ├───armgcc
    224. │   │   │       ├───iar
    225. │   │   │       └───mdk
    226. │   │   └───transfer_interrupt
    227. │   │       ├───master
    228. │   │       │   ├───armgcc
    229. │   │       │   ├───iar
    230. │   │       │   └───mdk
    231. │   │       └───slave
    232. │   │           ├───armgcc
    233. │   │           ├───iar
    234. │   │           └───mdk
    235. │   ├───usart
    236. │   │   ├───polling
    237. │   │   │   ├───armgcc
    238. │   │   │   ├───iar
    239. │   │   │   └───mdk
    240. │   │   ├───terminal
    241. │   │   │   ├───armgcc
    242. │   │   │   ├───iar
    243. │   │   │   └───mdk
    244. │   │   ├───transfer_dma
    245. │   │   │   ├───armgcc
    246. │   │   │   ├───iar
    247. │   │   │   └───mdk
    248. │   │   ├───transfer_interrupt
    249. │   │   │   ├───armgcc
    250. │   │   │   ├───iar
    251. │   │   │   └───mdk
    252. │   │   ├───transfer_ring_buffer
    253. │   │   │   ├───armgcc
    254. │   │   │   ├───iar
    255. │   │   │   └───mdk
    256. │   │   └───transfer_sync_mode
    257. │   │       ├───armgcc
    258. │   │       ├───iar
    259. │   │       └───mdk
    260. │   ├───wkt
    261. │   │   ├───armgcc
    262. │   │   ├───iar
    263. │   │   └───mdk
    264. │   └───wwdt
    265. │       ├───armgcc
    266. │       ├───iar
    267. │       └───mdk
    268. ├───freemaster_examples
    269. │   ├───common
    270. │   │   └───fmstr_example
    271. │   ├───fmstr_any
    272. │   │   ├───armgcc
    273. │   │   ├───iar
    274. │   │   └───mdk
    275. │   ├───fmstr_pdbdm
    276. │   │   ├───armgcc
    277. │   │   ├───iar
    278. │   │   └───mdk
    279. │   └───fmstr_uart
    280. │       ├───armgcc
    281. │       ├───iar
    282. │       └───mdk
    283. ├───project_template
    284. └───touch_examples
    285.     └───capt_key
    286.         ├───armgcc
    287.         ├───iar
    288.         └───mdk
    复制代码

    从上面的开发板描述可知 LPC845 描述可知,板载集成了 “板载CMSIS-DAP调试接口,包括VCOM支持(UART通过USB桥接到主机)
    ”,我们只要使用一根micro usb 就可以完成下载及调试。
    使用 MCUXpresso 导入led 程序后,执行build,debug 下载程序后发现虚拟的串口上打印出期待的"hello world",main 函数代码如下:

    1. int main(void)
    2. {
    3.     char ch;

    4.     /* Init board hardware. */
    5.     /* Select the main clock as source clock of USART0 (debug console) */
    6.     CLOCK_Select(BOARD_DEBUG_USART_CLK_ATTACH);

    7.     BOARD_InitBootPins();
    8.     BOARD_BootClockFRO30M();
    9.     BOARD_InitDebugConsole();

    10.     /* Turn on LED RED */
    11.     LED_RED_INIT(LOGIC_LED_ON);

    12.     PRINTF("hello world.\r\n");

    13.     while (1)
    14.     {
    15.         ch = GETCHAR();
    16.         PUTCHAR(ch);
    17.     }
    18. }
    复制代码



    dbg.png


    ==============资料分割线==============


    SCH_LPC845_BRK_RevA.PDF (89.57 KB, 下载次数: 7)
    Getting Started Guide for using MCUXpresso SDK online.pdf (85.82 KB, 下载次数: 2)
    Getting Started with MCUXpresso SDK.pdf (2.97 MB, 下载次数: 2)
    MCUXpresso SDK API Reference Manual_LPC845.pdf (2.63 MB, 下载次数: 5)
    UM11029.pdf (6.96 MB, 下载次数: 7)
    LPC84x.pdf (3.88 MB, 下载次数: 4)
    User Manual for LPC845 Breakout board.pdf (807.58 KB, 下载次数: 3)



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

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3301

    主题

    6548

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32040
    最后登录
    2024-4-28
    发表于 2023-4-3 08:59:28 | 显示全部楼层
    支持一下
    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 14:34
  • 签到天数: 271 天

    [LV.8]以坛为家I

    31

    主题

    2996

    帖子

    38

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5322

    活跃会员

    最后登录
    2024-4-28
    发表于 2023-4-3 16:12:44 | 显示全部楼层

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

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:27
  • 签到天数: 595 天

    [LV.9]以坛为家II

    51

    主题

    2225

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7072
    最后登录
    2024-4-28
     楼主| 发表于 2023-4-3 18:32:45 | 显示全部楼层

    还是日天活动给力
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:27
  • 签到天数: 595 天

    [LV.9]以坛为家II

    51

    主题

    2225

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7072
    最后登录
    2024-4-28
     楼主| 发表于 2023-4-3 18:37:41 | 显示全部楼层

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

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 14:34
  • 签到天数: 1213 天

    [LV.10]以坛为家III

    22

    主题

    4770

    帖子

    0

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    8094

    活跃会员

    最后登录
    2024-4-28
    发表于 2023-4-3 20:48:00 | 显示全部楼层
    学习一下
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 13:30
  • 签到天数: 1419 天

    [LV.10]以坛为家III

    17

    主题

    2100

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    6028
    最后登录
    2024-4-28
    发表于 2023-5-12 18:06:51 | 显示全部楼层
    接着往下看
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-29 06:49 , Processed in 0.143987 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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