没有合适的资源?快使用搜索试试~ 我知道了~
首页STM32CubeMX用户手册:配置与初始化C代码生成
STM32CubeMX用户手册:配置与初始化C代码生成
需积分: 0 1 下载量 132 浏览量
更新于2024-06-22
收藏 31.81MB PDF 举报
"STM32CubeMX是一款图形化工具,用于STM32产品的配置和初始化C代码生成。它属于STM32Cube计划的一部分,并且既可作为独立应用程序使用,也可集成在STM32CubeIDE工具链中。STM32CubeMX具有多项关键功能,如微控制器选择、板级选择、配置C代码生成、配置导入导出以及嵌入式C项目生成等。"
STM32CubeMX是STMicroelectronics为STM32系列微控制器提供的一款强大的配置工具,旨在简化开发过程,提升效率。以下是其主要特性和功能的详细说明:
1. **微控制器选择**:STM32CubeMX覆盖了STM32全系列产品,允许用户根据项目需求轻松选择合适的微控制器。
2. **板级支持**:工具提供了STMicroelectronics生产的多种开发板列表,用户可以直接选择对应的开发板,快速进行硬件配置。
3. **配置微控制器**:用户可以通过直观的图形界面配置微控制器的引脚、时钟树、外设和中间件,大大简化了复杂硬件设置的过程。
4. **初始化C代码生成**:完成配置后,STM32CubeMX会自动生成相应的初始化C代码,这包括对选定外设的初始化设置,为开发工作打下基础。
5. **配置迁移**:用户可以将保存的配置导入到新的微控制器项目中,方便在不同MCU之间切换,保持项目一致性。
6. **配置导出**:工具还支持将当前配置导出到兼容的MCU,便于分享或备份项目设置。
7. **配置报告**:STM32CubeMX可以生成配置报告,帮助开发者理解并记录当前项目的配置详情。
8. **嵌入式C项目生成**:工具能够为多个集成开发环境(IDE)生成项目文件,包括生成的初始化C代码、符合MISRA 2004标准的STM32 HAL驱动程序、所需的中间件栈,以及与用户配置相关的所有内容。
STM32CubeMX的这些特性使得开发者无需深入底层细节,就能快速搭建起一个基于STM32的系统,降低了嵌入式开发的入门门槛,同时也提升了专业开发者的开发效率。对于新手和有经验的工程师来说,STM32CubeMX都是一个不可多得的工具。通过这个工具,用户可以专注于应用程序的编写,而不是花费大量时间在基础设置上。随着STM32系列的广泛应用,掌握STM32CubeMX的使用对于涉足嵌入式领域的开发者而言至关重要。
List of figures UM1718
16/421 UM1718 Rev 40
Figure 199. Power Consumption: Peripherals consumption chart. . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Figure 200. Description of the Results area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Figure 201. Overall peripheral consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Figure 202. Selecting SMPS for the current project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Figure 203. SMPS database - Adding new SMPS models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Figure 204. SMPS database - Selecting a different SMPS model. . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Figure 205. Current project configuration updated with new SMPS model . . . . . . . . . . . . . . . . . . . . . 213
Figure 206. SMPS database management window with new model selected. . . . . . . . . . . . . . . . . . . 213
Figure 207. SMPS transition checker and state diagram helper window. . . . . . . . . . . . . . . . . . . . . . . 214
Figure 208. Configuring the SMPS mode for each step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Figure 209. RF related consumption (STM32WB series only). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Figure 210. RF BLE mode configuration (STM32WB series only). . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Figure 211. ZigBee configuration (STM32WB series only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Figure 212. RF sub-GHz configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Figure 213. Power Consumption Calculator – Example set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Figure 214. Power Consumption Calculator – Example sequence loading . . . . . . . . . . . . . . . . . . . . . 219
Figure 215. Power Consumption Calculator – Example sequence new selection. . . . . . . . . . . . . . . . 220
Figure 216. DDR pinout and configuration settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Figure 217. DDR3 configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Figure 218. DDR Suite - Connection to target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Figure 219. DDR Suite - Target connected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Figure 220. DDR activity logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Figure 221. DDR interactive logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Figure 222. DDR register loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Figure 223. DDR test list from U-Boot SPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Figure 224. DDR test suite results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Figure 225. DDR tests history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Figure 226. Labels for pins generating define statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Figure 227. User constant generating define statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Figure 228. Duplicate labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Figure 229. HAL-based peripheral initialization: usart.c code snippet . . . . . . . . . . . . . . . . . . . . . . . . . 235
Figure 230. LL-based peripheral initialization: usart.c code snippet . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Figure 231. HAL versus LL: main.c code snippet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Figure 232. extra_templates folder - Default content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Figure 233. extra_templates folder with user templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Figure 234. Project root folder with corresponding custom generated files . . . . . . . . . . . . . . . . . . . . . 239
Figure 235. User custom folder for templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Figure 236. Custom folder with corresponding custom generated files . . . . . . . . . . . . . . . . . . . . . . . . 240
Figure 237. Update of the project .ewp file (EWARM IDE)
for preprocessor define statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Figure 238. Update of stm32f4xx_hal_conf.h file to enable selected modules . . . . . . . . . . . . . . . . . . 242
Figure 239. New groups and new files added to groups in EWARM IDE . . . . . . . . . . . . . . . . . . . . . . 242
Figure 240. Preprocessor define statements in EWARM IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Figure 241. Code generation for STM32H7 dual-core devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Figure 242. Startup and linker files for STM32H7 dual-core devices. . . . . . . . . . . . . . . . . . . . . . . . . . 245
Figure 243. Building secure and non-secure images with ARMv8-M TrustZone
®
. . . . . . . . . . . . . . . . 246
Figure 244. Project explorer view for STM32L5 TrustZone
®
enabled projects . . . . . . . . . . . . . . . . . . 247
Figure 245. Project settings for STM32CubeIDE toolchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Figure 246. STM32CubeMX generated DTS – Extract 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Figure 247. STM32CubeMX generated DTS – Extract 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Figure 248. STM32CubeMX generated DTS – Extract 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Figure 249. Project settings for configuring Device tree path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
UM1718 Rev 40 17/421
UM1718 List of figures
20
Figure 250. Selecting a CMSIS-Pack software component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Figure 251. Enabling and configuring a CMSIS-Pack software component . . . . . . . . . . . . . . . . . . . . 255
Figure 252. Project generated with CMSIS-Pack software component . . . . . . . . . . . . . . . . . . . . . . . . 256
Figure 253. MCU selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Figure 254. Pinout view with MCUs selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Figure 255. Pinout view without MCUs selection window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Figure 256. GPIO pin configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Figure 257. Timer configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Figure 258. Simple pinout configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Figure 259. Save Project As window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Figure 260. Generate Project Report - New project creation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Figure 261. Generate Project Report - Project successfully created . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Figure 262. Clock tree view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Figure 263. HSI clock enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Figure 264. HSE clock source disabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Figure 265. HSE clock source enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Figure 266. External PLL clock source enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Figure 267. Pinout & Configuration view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Figure 268. Case of Peripheral and Middleware without configuration parameters. . . . . . . . . . . . . . . 267
Figure 269. Timer 3 configuration window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Figure 270. Timer 3 configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Figure 271. Enabling Timer 3 interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Figure 272. GPIO configuration color scheme and tooltip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Figure 273. GPIO mode configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Figure 274. DMA parameters configuration window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Figure 275. Middleware tooltip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Figure 276. USB Host configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Figure 277. FatFs over USB mode enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Figure 278. System view with FatFs and USB enabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Figure 279. FatFs define statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Figure 280. Project Settings and toolchain selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Figure 281. Project Manager menu - Code Generator tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Figure 282. Missing firmware package warning message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Figure 283. Error during download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Figure 284. Updater settings for download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Figure 285. Updater settings with connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Figure 286. Downloading the firmware package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Figure 287. Unzipping the firmware package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Figure 288. C code generation completion message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Figure 289. C code generation output folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Figure 290. C code generation output: Projects folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Figure 291. C code generation for EWARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Figure 292. STM32CubeMX generated project open in IAR™ IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Figure 293. IAR™ options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 285
Figure 294. SWD connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Figure 295. Project building log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Figure 296. User Section 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Figure 297. User Section 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Figure 298. Import Project menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Figure 299. Board peripheral initialization dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Figure 300. Board selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Figure 301. SDIO peripheral configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
List of figures UM1718
18/421 UM1718 Rev 40
Figure 302. FatFs mode configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Figure 303. RCC peripheral configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Figure 304. Clock tree view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Figure 305. FATFS tutorial - Project settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Figure 306. C code generation completion message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Figure 307. IDE workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Figure 308. Power Consumption Calculation example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Figure 309. VDD and battery selection menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Figure 310. Sequence table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Figure 311. sequence results before optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Figure 312. Step 1 optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Figure 313. Step 5 optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Figure 314. Step 6 optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Figure 315. Step 7 optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Figure 316. Step 8 optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Figure 317. Step 10 optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Figure 318. Power sequence results after optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Figure 319. Selecting NUCLEO_L053R8 board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Figure 320. Selecting debug pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Figure 321. Selecting TIM2 clock source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Figure 322. Selecting asynchronous mode for USART2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Figure 323. Checking pin assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Figure 324. Configuring the MCU clock tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Figure 325. Configuring USART2 parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Figure 326. Configuring TIM2 parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Figure 327. Enabling TIM2 interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Figure 328. Project Settings menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Figure 329. Generating the code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Figure 330. Checking the communication port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Figure 331. Setting Tera Term port parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Figure 332. Setting Tera Term port parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Figure 333. Existing or new project pinout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Figure 334. List of pinout compatible MCUs - Partial match
with hardware compatibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Figure 335. List of Pinout compatible MCUs - Exact and partial match . . . . . . . . . . . . . . . . . . . . . . . . 319
Figure 336. Selecting a compatible MCU and importing the configuration . . . . . . . . . . . . . . . . . . . . . 320
Figure 337. Configuration imported to the selected compatible MCU . . . . . . . . . . . . . . . . . . . . . . . . . 320
Figure 338. Additional software components enabled for the current project . . . . . . . . . . . . . . . . . . . 322
Figure 339. Pack software components - no configurable parameters . . . . . . . . . . . . . . . . . . . . . . . . 323
Figure 340. Pack tutorial - project settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Figure 341. Generated project with third party pack components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Figure 342. Hardware prerequisites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Figure 343. Embedded software packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Figure 344. Mobile application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Figure 345. Installing Embedded software packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Figure 346. Starting a new project - selecting the NUCLEO-L053R8 board . . . . . . . . . . . . . . . . . . . . 328
Figure 347. Starting a new project - initializing all peripherals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Figure 348. Selecting X-Cube-BLE1 components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Figure 349. Configuring peripherals and GPIOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Figure 350. Configuring NVIC interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Figure 351. Enabling X-Cube-BLE1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Figure 352. Configuring the SensorDemo project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
UM1718 Rev 40 19/421
UM1718 List of figures
20
Figure 353. Open SensorDemo project in the IDE toolchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Figure 354. LPBAM project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Figure 355. Project timeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Figure 356. Project with LPBAM capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Figure 357. LPBAM scenario & configuration view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Figure 358. Adding an application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Figure 359. SoC and IPs configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Figure 360. LPBAM scenario: creation & configuration panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Figure 361. Clock tree configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Figure 362. Available IPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Figure 363. IP configuration: advanced settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Figure 364. LPBAM low power settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Figure 365. Adding nodes to a queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Figure 366. Queue in circular mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Figure 367. Queue looping back on IP data transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Figure 368. LPBAM queue: DMA configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Figure 369. LPBAM functions contextual help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Figure 370. LPBAM queue node configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Figure 371. LPBAM node: configuring hardware resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Figure 372. LPBAM node trigger configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Figure 373. LPBAM node triggered using timer channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Figure 374. LPBAM node: reconfiguring a DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Figure 375. Reconfiguring DMA for data transfer when destination is memory. . . . . . . . . . . . . . . . . . 350
Figure 376. Design check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Figure 377. STM32CubeMX project generated with LPBAM applications. . . . . . . . . . . . . . . . . . . . . . 352
Figure 378. STM32CubeMX project - Peripheral secure context assignment . . . . . . . . . . . . . . . . . . . 354
Figure 379. STM32CubeMX project - Clock source secure context assignment. . . . . . . . . . . . . . . . . 354
Figure 380. LPBAM project - Peripheral no context assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Figure 381. LPBAM application - Clock source no context assignment. . . . . . . . . . . . . . . . . . . . . . . . 355
Figure 382. LPBAM application - Secure context assignment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Figure 383. LPBAM design security coherency check. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Figure 384. Pinout view - Enabling the RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Figure 385. Pinout view - Enabling LSE and HSE clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Figure 386. Pinout view - Setting LSE/HSE clock frequency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Figure 387. Block mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Figure 388. Block remapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Figure 389. Block remapping - Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Figure 390. Block remapping - Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Figure 391. Block inter-dependency - SPI signals assigned to PB3/4/5 . . . . . . . . . . . . . . . . . . . . . . . 365
Figure 392. Block inter-dependency - SPI1_MISO function assigned to PA6 . . . . . . . . . . . . . . . . . . . 366
Figure 393. One block = one peripheral mode - I2C1_SMBA function assigned to PB5. . . . . . . . . . . 367
Figure 394. Block remapping - Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Figure 395. Function remapping example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Figure 396. Block shifting not applied . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Figure 397. Block shifting applied . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Figure 398. FreeRTOS HOOK functions to be completed by user . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Figure 399. LwIP 1.4.1 configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Figure 400. LwIP 1.5 configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Figure 401. Libjpeg configuration window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 378
Figure 402. Mbed TLS without LwIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Figure 403. Mbed TLS with LwIP and FreeRTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Figure 404. Mbed TLS configuration window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
List of figures UM1718
20/421 UM1718 Rev 40
Figure 405. Enabling the TouchSensing peripheral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Figure 406. Touch-sensing sensor selection panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Figure 407. TouchSensing configuration panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Figure 408. BLE and Thread middleware support in STM32CubeMX. . . . . . . . . . . . . . . . . . . . . . . . . 385
Figure 409. STM32CubeWB Package download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Figure 410. STM32CubeWB BLE applications folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Figure 411. BLE Server profile selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Figure 412. BLE Client profile selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Figure 413. Thread application selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Figure 414. Enabling OpenAmp for STM32MP1 devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Figure 415. Enabling the Resource Manager for STM32MP1 devices . . . . . . . . . . . . . . . . . . . . . . . . 390
Figure 416. Resource Manager: peripheral assignment view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Figure 417. STM32 microcontroller part numbering scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Figure 418. STM32Cube Embedded Software package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
剩余420页未读,继续阅读
点击了解资源详情
154 浏览量
点击了解资源详情
142 浏览量
2022-09-24 上传
2022-09-21 上传
2021-10-01 上传
246 浏览量
122 浏览量
lei_li_feng_xing
- 粉丝: 3
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功