MSPM0 SDK 示例指南¶
1.引言¶
MSPM0 SDK 随附大量代码示例, 可帮助工程师使用德州仪器 (TI) 的 MSPM0 系列微控制器开发应用。
示例文件夹分为 RTOS 和非 RTOS 子文件夹(目前 仅支持非 RTOS)。这些文件夹包含每个 LaunchPad 的示例,并根据功能进行整理,例如较低层的 Driverlib 示例、较高层的 TI 驱动程序示例,以及 GUI Composer、LIN、IQMath 等中间层的示例。
一些示例支持 SysConfig, 可简化器件配置并加快软件开发。 请参阅“SDK 快速入门指南”,更详细地了解如何 开始使用 SysConfig 并在下面各节中搜索 SysConfig 字符 。
2.MSPM0 SDK 示例¶
2.1 演示¶
MSPM0 SDK 包含多个演示,展示了 各种器件的功能。
每个演示都自带文档、完整的源代码,以及对应 其所支持的不同 IDE 和编译器的工程文件, 因而使得演示简单易用。
敬请期待更多示例和功能。
2.1.1 开箱即用体验¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
out_of_box | MSPM0 LaunchPad 的开箱即用体验 | 否 | 是 |
2.2 DriverLib¶
DriverLib 是一组底层驱动程序,可提供用于 访问 MSPM0 寄存器和完整器件功能的 API。
以下示例使用 Driverlib API 演示了 器件功能,既涵盖了切换 GPIO 输出引脚等简单用例, 也介绍了使用多个外设的更复杂 用例。
每个示例都自带文档、完整的源代码,以及 对应其所支持的不同 IDE 和编译器的工程文件, 因而使得示例简单易用。
2.2.1 AES 加速器 (AES)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
aes_cbc_256_enc_dec | AES256 CBC 加密和解密示例 | 否 | |
aes_cfb_256_decrypt | AES CFB 256 位解密示例 | 否 | |
aes_ofb_128_encrypt | AES OFB 128 位加密示例 | 否 |
2.2.2 模数转换器 (ADC)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
adc12_14bit_resolution | 在启用硬件均值的情况下使用 DMA 以最大频率执行 ADC12 转换 | ||
adc12_max_freq_dma | 使用 DMA 以最大频率执行 ADC12 转换 | ||
adc12_max_freq_dma_8bit | 使用 DMA 以最大频率和 8 位分辨率执行 ADC12 转换 | ||
adc12_monitor_supply | ADC12 监测电压电源通道 | ||
adc12_simultaneous_trigger_event | 由计时器事件触发双重 ADC12 转换 | 否 | |
adc12_simultaneous_trigger_event_stop | 在 STOP 模式下由计时器事件触发双重 ADC12 转换 | 否 | |
adc12_single_conversion | 由软件触发简单的 ADC12 单次转换 | ||
adc12_single_conversion_vref_external | 由软件使用外部基准触发 ADC12 单次转换 | ||
adc12_single_conversion_vref_internal | 由软件使用内部 VREF 触发 ADC12 单次转换 | ||
adc12_triggered_by_timer_event | 由计时器事件触发 ADC12 转换 | ||
adc12_triggered_by_timer_event_stop | 在 STOP 模式下由计时器事件触发 ADC12 转换 | ||
adc12_window_comparator | 在重复模式下使用窗口比较器功能执行 ADC12 单次转换 |
2.2.3 比较器 (COMP)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
comp_analog_filter | 比较器使用外部输入且具有迟滞和输出模拟滤波器 | ||
comp_dac_to_timer_event | 使用 8 位 DAC 的比较器输出触发计时器事件以测量计时 | ||
comp_hs_dac_vref_external | 比较器处于高速模式并将 8 位 DAC 与外部 VREF 搭配使用 | ||
comp_hs_tima_pwm_fault | 高速模式下的比较器触发 TIMA 故障 | 否 | |
comp_lp_dac_vref_internal | 比较器处于低速模式并将 8 位 DAC 与内部 VREF 搭配使用 | 否 |
2.2.4 控制器局域网 (CAN)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
mcan_loopback | MCAN 使用环回模式发送和接收消息 | 否 | |
mcan_message_rx | 示例配置用于接收 CAN 和 CAN-FD 帧 | 否 | |
mcan_message_rx_tcan114x | 示例配置用于使用 BOOSTXL-TCAN1145 boosterpack 接收 CAN 和 CAN-FD 帧。 | 否 | |
mcan_multi_message_tx | CAN-FD 在 GPIO 中断时发送两条具有唯一 ID 的消息 | 否 | |
mcan_multi_message_tx_tcan114x | CAN-FD 在 GPIO 中断时使用 BOOSTXL-TCAN1145 boosterpack 发送两条具有唯一 ID 的消息。 | 否 | |
mcan_single_message_tx | CAN-FD 在 GPIO 中断时发送一条消息 | 否 |
2.2.5 循环冗余校验 (CRC)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
crc_calculate_checksum | 存储块的 CRC32 校验和计算 | ||
crc_calculate_checksum_dma | 使用 DMA 块传输对存储块进行 CRC32 检验和计算 |
2.2.6 数模转换器 (DAC)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
dac12_dma_sampletimegen | DAC12 将 DMA 与采样时间发生器搭配使用来生成正弦波 | 否 | |
dac12_fifo_sampletimegen | DAC12 使用 FIFO 和采样时间发生器发送重复性信号 | 否 | |
dac12_fifo_timer_event | DAC12 使用 FIFO 发送锯齿状信号并由计时器事件触发 | 否 | |
dac12_fixed_voltage_vref_internal | DAC12 设置固定电压输出 | 否 |
2.2.7 直接存储器访问 (DMA)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
dma_block_transfer | DMA 从闪存主存储器复制到 SRAM 存储器 | ||
dma_fill_data | 使用 DMA 对 SRAM 进行 DMA 存储器填充 | ||
dma_table_transfer | DMA 将表格模式与 DMA 搭配使用 |
2.2.8 事件管理器¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
event_input_triggers_output | 事件配置用于在按下开关时切换 LED |
2.2.9 GPIO¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
gpio_input_capture | GPIO 通过输入捕获引脚触发中断 | ||
gpio_simultaneous_interrupts | 演示如何同时处理三个 GPIO 中断 | 否 | |
gpio_software_poll | GPIO 输出根据轮询输入进行设置 | ||
gpio_toggle_output | GPIO 翻转输出引脚 | ||
gpio_toggle_output_hiz | GPIO 翻转配置为高阻态的输出引脚 |
2.2.10 通用放大器 (GPAMP)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
gpamp_buffer_to_adc | GPAmp 配置为缓冲模式并输出到 ADC | ||
gpamp_general_purpose_rri | GPAmp 配置为通用轨到轨模式 |
2.2.11 内部集成电路 (I2C)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
i2c_controller_rw_multibyte_fifo_interrupts | I2C 控制器使用中断与 FIFO 来读取和写入多个字节 | ||
i2c_controller_rw_multibyte_fifo_poll | I2C 控制器使用轮询 FIFO 来读取和写入多个字节 | ||
i2c_controller_target_dynamic_switching | I2C 在控制器模式与目标模式之间动态转换 | ||
i2c_multicontroller_arbitration | I2C 控制器检测到仲裁错误 | ||
i2c_target_rw_multibyte_fifo_interrupts | I2C 目标使用中断来读取和写入多个字节 | ||
i2c_target_rw_multibyte_fifo_interrupts_stop | I2C 目标在 STOP 模式下使用中断来读取和写入多个字节 | ||
i2c_target_rw_multibyte_fifo_poll | I2C 目标使用轮询 FIFO 来读取和写入多个字节 |
2.2.12 数学加速器 (MATHACL)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
mathacl_mpy_div_op | 使用定点的 MATHACL 乘法和除法 | 否 | |
mathacl_trig_op | 三角函数的 MATHACL 实现 | 否 |
2.2.13 非易失性存储器 (FLASHCTL)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
flashctl_blank_verify | “闪存空白验证”命令的实现 | ||
flashctl_dynamic_memory_protection | 闪存配置为具有动态保护 | ||
flashctl_ecc_error_injection | 闪存 ECC 测试及 SEC 与 DED 错误检测 | 否 | |
flashctl_multiple_size_read_verify | 针对多种数据大小且带有和不带 ECC 的闪存读取验证命令实现 | ||
flashctl_multiple_size_write | 不同大小数据的闪存写入 | ||
flashctl_nonmain_memory_write | 非主闪存存储器的读取和写入 | ||
flashctl_program_with_ecc | 具有 ECC 的闪存编程 | 否 |
2.2.14 运算放大器 (OPA)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
opa_burnout_current_source_to_adc | 缓冲模式下的 OPA 向 ADC 提供烧毁电流源 | ||
opa_dac8_output_buffer | OPA 处于输出缓冲模式并使用 8 位 DAC | ||
opa_general_purpose_rri | OPA 处于通用模式并采用轨到轨配置 | ||
opa_inverting_pga_with_dac | OPA 采用同相 PGA 配置并使用 DAC12 作为偏置 | 否 | |
opa_non_inverting_pga | OPA 采用同相 PGA 配置 | ||
opa_signal_chain_to_adc | 两个 OPA 配置为 TIA 和 PGA 并连接到 ADC | 否 |
2.2.15 其他¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
cinit_bypass | 旁路 CINIT 跳过变量初始化 | ||
empty | 使用 DriverLib 的空白启动工程 | ||
empty_driverlib_src | 使用 DriverLib 的空白启动工程 | ||
empty_library | 使用 DriverLib 的空白启动库工程 | 是 | 是 |
nvic_interrupt_disable | NVIC 用于演示禁用中断的最佳方法 | ||
nvic_interrupt_grouping | NVIC 配置和中断分组用法 | ||
sram_parity | 初始化和使用奇偶校验 SRAM | 否 | |
systick_periodic_timer | SysTick 生成周期性中断 |
2.2.16 实时时钟 (RTC)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
rtc_calendar_alarm_standby | RTC 设置日历报警并在报警触发时切换 GPIO | 否 | |
rtc_offset_calibration_lfxt | 晶体的 RTC 偏移校正 | 否 | |
rtc_periodic_alarm_lfosc_standby | 使用 LFOSC 在 STANDBY 状态下定期报警的 RTC 实现 | 否 | |
rtc_periodic_alarm_lfxt_standby | 使用 LFXT 在 STANDBY 状态下定期报警的 RTC 实现 | 否 |
2.2.17 串行外设接口 (SPI)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
spi_controller_command_data_control | 采用命令数据 (CD) 控制的 SPI 控制器传输 | ||
spi_controller_echo_interrupts | SPI 控制器使用 Motorola 格式传输数据 | ||
spi_controller_internal_loopback_poll | SPI 控制器具有内部环回并使用轮询 | ||
spi_controller_multibyte_fifo_dma_interrupts | SPI 控制器使用 FIFO 和 DMA 来读取和写入多个字节 | ||
spi_controller_multibyte_fifo_poll | SPI 控制器使用轮询 FIFO 来读取和写入多个字节 | ||
spi_controller_register_format | SPI 控制器使用寄存器格式发送和读取数据 | ||
spi_controller_repeated_multibyte_fifo_dma_interrupts | SPI 控制器使用 FIFO 和 DMA 每秒读取和写入多个字节 | ||
spi_peripheral_echo_interrupts | SPI 外设使用 Motorola 格式回传数据 | ||
spi_peripheral_multibyte_fifo_dma_interrupts | SPI 外设使用 FIFO 和 DMA 来读取和写入多个字节 | ||
spi_peripheral_multibyte_fifo_poll | SPI 外设使用轮询 FIFO 来读取和写入多个字节 | ||
spi_peripheral_register_format | SPI 外设使用寄存器格式发送和读取数据 | ||
spi_peripheral_repeated_multibyte_fifo_dma_interrupts | SPI 外设使用 FIFO 和 DMA 来读取和写入多个字节 |
2.2.18 系统控制器 (SYSCTL)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
sysctl_frequency_clock_counter | 通过频率时钟计数器 (FCC) 监视 SYSOSC | 否 | |
sysctl_hfxt_run | 将外部 HFXT 设置为 HSCLK 和 MCLK 的源 (48MHz) | 否 | |
sysctl_lfxt_standby | 将 LFXT 设置为 LFCLK 的源 (32kHz) 并设置 STANDBY0 下的电源策略 | 否 | |
sysctl_mclk_syspll | 将 MCLK 设置为从 SYSPLL 运行 (80MHz) | 否 | |
sysctl_power_policy_sleep_to_standby | SYSCTL 在 SLEEP 模式和 STANDBY 模式之间切换 | ||
sysctl_power_policy_sleep_to_stop | SYSCTL 在 SLEEP 模式和 STOP 模式之间切换 | ||
sysctl_shutdown | 显示 SHUTDOWN、STOP、STANDBY 和 SLEEP 后的正确唤醒机制 |
2.2.19 计时器 - 高级 (TIMA)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
tima_timer_mode_periodic_repeat_count | TimerA 处于定期模式并使用重复计数功能 | 否 | |
tima_timer_mode_pwm_dead_band | TimerA 输出具有死区插入的 PWM 信号 | 否 | |
tima_trigger_fail_mechanism | TimerA 演示故障检测 | 否 |
2.2.20 计时器 - 通用 (TIMG)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
timg_qei_mode | TimerG 使用 QEI 来对正交编码器的相对位置输出进行解码 | 否 |
2.2.21 计时器 - 通用 (TIMx)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
timx_timer_mode_capture_duty_and_period | 计时器计算周期和占空比 | ||
timx_timer_mode_capture_edge_capture | 使用计时器捕获模式进行计时器边沿时间检测 | ||
timx_timer_mode_compare_edge_count | 使用比较模式的计时器边沿计数功能 | ||
timx_timer_mode_one_shot_standby | 器件处于 STANDBY 模式时,计时器处于单次触发模式 | ||
timx_timer_mode_periodic_sleep | 器件处于 SLEEP 模式时,计时器处于定期模式 | ||
timx_timer_mode_periodic_standby | 器件处于 STANDBY 模式时,计时器处于定期模式 | ||
timx_timer_mode_periodic_stop | 器件处于 STOP 模式时,计时器处于定期模式 | ||
timx_timer_mode_pwm_center_stop | 器件处于 STOP 模式时,计时器处于 PWM 中心对齐模式 | ||
timx_timer_mode_pwm_cross_trigger_stop_restore | 器件退出 STOP 模式后,计时器处于 PWM 模式并在软件中保持 | 否 | |
timx_timer_mode_pwm_edge_sleep | 器件处于 SLEEP 模式时,计时器处于 PWM 边沿对齐模式 | ||
timx_timer_mode_pwm_edge_sleep_shadow | 计时器使用影子加载功能来更新 PWM 占空比 |
2.2.22 真随机数发生器 (TRNG)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
trng_sample | 进行 TRNG 采样,以使用随机数据填充缓冲区 | 否 | |
trng_sample_stop_restore | 在器件退出 STOP 模式后,TRNG 对随机数据进行采样并在 SW 中保持 | 否 |
2.2.23 通用异步收发器 (UART)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
uart_echo_interrupts_standby | 当器件处于 STANDBY 模式时 UART RX/TX 使用中断来回显 | ||
uart_extend_manchester_echo | UART 扩展模块使用曼彻斯特编码来回显接收的数据包 | ||
uart_extend_manchester_send_packet | UART 扩展模块使用曼彻斯特编码和解码来发送数据包 | ||
uart_external_loopback_interrupt | 使用中断的 UART RX/TX 外部环回 | ||
uart_internal_loopback_standby_restore | 器件退出 STANDBY 模式后 UART 内部环回并在软件中保持 | 否 | |
uart_rw_multibyte_fifo_poll | UART RX/TX(使用具有轮询功能的 FIFO) | ||
uart_rx_hw_flow_control | 使用硬件流控制的 UART RX | ||
uart_rx_multibyte_fifo_dma_interrupts | 使用 DMA 触发器的 UART RX | ||
uart_tx_console_multibyte_repeated_fifo_dma | UART TX 到控制台(使用连续 DMA 触发器) | ||
uart_tx_hw_flow_control | 使用硬件流控制的 UART TX | ||
uart_tx_multibyte_fifo_dma_interrupts | 使用 DMA 触发器的 UART TX |
2.2.24 窗口看门狗计时器 (WWDT)¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
wwdt_interval_timer_lfosc_standby | 器件处于 STANDBY 模式时,WWDT 使用 LFOSC 并处于间隔计时器模式 | ||
wwdt_interval_timer_lfxt_standby | 器件处于 STANDBY 模式时,WWDT 使用 LFXT 并处于间隔计时器模式 | 否 | |
wwdt_window_mode_periodic_reset | 支持定期复位的 WWDT 窗口看门狗模式 |
2.3 TI 驱动程序¶
“TI 驱动程序”提供了一系列稳健而直观的 功能 API,使开发人员能够以可移植、功能丰富的方式访问外设。
MSPM0 的 TI 驱动程序正在开发当中,但下面的示例简要介绍了 预期的功能。
2.3.1 FreeRTOS¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
uart_callback/freertos | 使用回调的 UART 简单回显 | 否 | 是 |
uart_echo/freertos | UART 简单回显 | 是 | 是 |
2.3.2 No RTOS¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
uart_echo/nortos | UART 简单回显 | 是 | 否 |
watchdog_interval | 看门狗驱动程序处于间隔模式 | 是 | 否 |
watchdog_reset | 看门狗驱动程序处于复位模式 | 是 | 否 |
2.4 启动映像管理器 (BIM)¶
MSPM0 SDK 包括启动映像管理器实现, 展示了用户如何验证器件中所加载映像的 完整性和真实性。
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
bim_sample_image | 对 BIM 的 GPIO 翻转映像进行采样 | 否 | |
boot_application | 使用 MCUBoot 的启动映像管理器 | 否 |
2.5 引导加载程序 (BSL)¶
引导加载程序 (BSL) 提供了一种 通过标准 UART 或 I2C 串行接口对器件存储器进行烧录和/或验证的 方法。此外,BSL 还支持基于 MAIN 闪存的通讯插件,以启用 其他接口和功能。
MSPM0 SDK 包含多个示例,展示了如何在 MAIN 闪存中实现各种通讯插件以及其他 BSL 功能。
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
bsl_host_mcu_i2c | 显示 BSL I2C 闪存接口的实现 | 是 | 否 |
bsl_host_mcu_uart | 显示 BSL uart 闪存接口的实现 | 是 | 否 |
bsl_i2c_flash_interface | 显示 BSL I2C 闪存接口的实现 | ||
bsl_software_invoke | 在应用程序请求时跳转到 ROM 引导加载程序 | ||
bsl_uart_flash_interface | 显示 BSL UART 闪存接口的实现 | ||
secondary_bsl | 在 MAIN 闪存实现次级引导加载程序来覆盖 ROM BSL |
2.6 指导手册¶
“MSPM0 SDK 指导手册”包含多个实例,展示了使用多个外设实现更复杂的功能。
这些示例使用多个 DriverLib API 并包括完整的源代码和文档以及详细的使用说明。
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
adc_dma_ping_pong | 将 ADC 数据捕获到 2 个(乒乓)缓冲器 | 否 | |
adc_to_spi_controller | 通过 SPI 从连接的目标器件读取 ADC 数据 | ||
adc_to_spi_peripheral | 对 ADC 进行采样并响应由控制器发送的 SPI 命令 | ||
adc_to_uart | 对 ADC 值进行采样并通过 UART 发送 | ||
programmable_gain_amplifier_1 | 使用可编程增益放大器来动态调整增益 | 否 | |
programmable_gain_amplifier_2 | 使用可编程增益放大器来动态调整增益并使用集成式 ADC 来捕获值 | 否 | |
pwm_led_driver | 使用计时器产生脉动 LED 效果 | ||
temp_sense_thermistor | 使用集成式运算放大器和 ADC 对 LaunchPad 热敏电阻进行采样 | 否 | |
transimpedance_amplifier | 配置跨阻放大器拓扑中的运算放大器 | 否 |
2.7 EEPROM¶
MSPM0 通过其内部闪存支持模拟 EEPROM。 与使用外部串行 EEPROM 相比,使用内部闪存的模拟 EEPROM 可节省引脚用量和成本。
MSPM0 SDK 包含一个库和多个示例,展示了其所支持的解决方案 实现方式。
2.7.1 A 型¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
eeprom_emulation_type_a | 演示 A 型 EEPROM 仿真以存储非易失性数据 | 是 | 是 |
eeprom_emulation_type_a_test | 演示 A 型 EEPROM 仿真的更详细用例,以存储非易失性数据块 | 是 | 是 |
2.7.2 B 型¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
eeprom_emulation_type_b | 演示 B 型 EEPROM 仿真以存储用户数据 | 是 | 是 |
eeprom_emulation_type_b_test | 演示 B 型 EEPROM 仿真的更详细用例,以存储用户数据 | 是 | 是 |
2.8 GUI Composer¶
GUI Composer 是一款基于浏览器的工具,用于开发 PC 端 基于 HTML 的 GUI,从而补充嵌入式工程或应用程序。
MSPM0 SDK 包含一个库和多个示例,展示了其所支持的协议 实现方式。
2.8.1 流媒体协议¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
gc_simple_json | 演示使用 JSON 格式字符串进行 GUI Composer 通信的基本用例 | ||
gc_simple_messagepack | 演示使用 MessagePack 协议进行 GUI Composer 通信的基本用例 |
2.9 IQMath¶
IQMath 是一组高度优化的 高精度定点数运算函数库。
MSPM0 SDK 包括 IQMath 的使用示例,使用简单的 C 运行时系统 (RTS) 函数,并利用 MathAcl 硬件加速器。
2.9.1 编译器 RTS 库¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
iqmath_rts_ops_test | 利用 IQMath 的 RTS 实现来实施各种定点运算 |
2.9.2 MathACL¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
iqmath_mathacl_ops_test | 利用 IQMath 的 MathACL 实现来实施各种定点运算 | 否 |
2.10 RTOS 内核¶
MSPM0 SDK 包含一组用于测试 内核功能的示例。
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
blink_led | 使用两个任务的简单 FreeRTOS LED 闪烁演示 | ||
posix_demo | 简单的 Posix FreeRTOS 闪烁 LED 演示 |
2.11 LIN¶
本地互连网络 (LIN) 是汽车中 常用的一种易于实现的低成本多点通信总线。
MSPM0 SDK 包含易于使用的指挥官和 响应者示例。
2.11.1 指挥官¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
lin_commander | 演示 LIN 指挥官使用 UART 发送和接收 LIN 2.0 数据包的基本实现 |
2.11.2 响应者¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
lin_responder | 演示 LIN 响应者使用 UART 发送和接收 LIN 2.0 数据包的基本实现 |
2.12 有刷电机控制¶
MSPM0 SDK 包含一个示例,用于 通过 DRV8706-Q1 EVM 评估有刷电机控制库。该固件有专用的 GUI 上位机,旨在帮助用户快速进行测试和评估。
更多示例和功能即将推出,敬请期待。
2.12.1 DRV8706-Q1¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
drv8706s-q1evm-gui-firmware | 适用于 LP_MSPM0L1306 和 DRV8706S-Q1 EVM GUI 的固件 | 否 |
2.13 步进电机控制¶
MSPM0 SDK 包含多个示例,用于 通过 DRV8411A 和 DRV8889-q1 EVM 评估步进电机控制库。这些固件 有专用的 GUI 上位机,旨在帮助用户快速进行测试和评估。
更多示例和功能即将推出,敬请期待。
2.13.1 DRV8411A¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
drv8411aevm-gui-firmware | 适用于 LP_MSPM0L1306 和 DRV8411AEVM GUI 的固件 | 否 |
2.13.2 DRV8889-Q1¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
drv8889-q1evm-gui-firmware | 适用于 LP_MSPM0L1306 和 DRV8889-Q1 EVM GUI 的固件 | 否 |
2.14 SMBus¶
系统管理总线 (SMBus) 是一种适用于轻量级通信的 简单单端双线总线。
MSPM0 SDK 包含适用于控制器和 目标的易用示例。
2.14.1 控制器¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
smbus_controller | 演示 SMBus 控制器使用 I2C 来测试所有 SMBus 2.0 协议的基本实现 | 否 |
2.14.2 目标¶
工程名称 | 说明 | EVM | |
---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | ||
smbus_target | 演示 SMBus 目标使用 I2C 来测试所有 SMBus 2.0 协议的基本实现 | 否 |