This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSPM0G1507:CCS+MSPM0_SDK 上未解析的 DMA/ADC/SYSCTL 名称

Guru**** 2265180 points
Other Parts Discussed in Thread: MSPM0G1507, SYSCONFIG, MSPM0G3507
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1503094/mspm0g1507-unresolved-dma-adc-sysctl-names-on-ccs-mspm0_sdk

部件号:MSPM0G1507
Thread 中讨论的其他器件: SysConfigMSPM0G3507

工具/软件:

您好、

我正在使用采用 VQFN32封装的 MSPM0G1507、并根据 TI 文档从头开始编写了一个简单示例。

我之所以不使用 DriverLib、是因为我无法确定如何为它的用例配置双通道 ADC 设置、因此我决定手动实现所有功能。

但是、我目前无法编译代码。 我将使用 CCS 12.1.1.00008 (基于20.1.1.8)和 MSPM0 SDK 2.04。 所有包含路径似乎都已正确设置、但ADCDMASYSCTL编译过程中不能识别诸如、或之类的标识符。

您能否给出建议、说明如何正确编译和运行这样的裸机工程?

提前感谢!

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <ti/devices/msp/m0p/mspm0g150x.h>
#define ADC_LEN 640
uint16_t adc_buf_ch0[2][ADC_LEN];
uint16_t adc_buf_ch1[2][ADC_LEN];
volatile int sw = 0;
void DMA_IRQHandler(void)
{
if (DMA->IRQSTATUS0 & DMA_IRQSTATUS0_DMA_CH0_MASK) {
DMA->IRQSTATUS0 = DMA_IRQSTATUS0_DMA_CH0_MASK;
sw ^= 1;
DMA_CH0_CTL &= ~DMA_CH0_CTL_ENABLE_MASK;
DMA_CH0_DSTADDR = (uint32_t)&adc_buf_ch0[sw][0];
DMA_CH0_CTL |= DMA_CH0_CTL_ENABLE_MASK;
}
if (DMA->IRQSTATUS0 & DMA_IRQSTATUS0_DMA_CH1_MASK) {
DMA->IRQSTATUS0 = DMA_IRQSTATUS0_DMA_CH1_MASK;
DMA_CH1_CTL &= ~DMA_CH1_CTL_ENABLE_MASK;
DMA_CH1_DSTADDR = (uint32_t)&adc_buf_ch1[sw][0];
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、llgiz、

    此处有两项建议:

    [报价 userid="159413" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1503094/mspm0g1507-unresolved-dma-adc-sysctl-names-on-ccs-mspm0_sdk ]我将使用 CCS 12.1.1.00008 (基于20.1.1.8)和 MSPM0 SDK 2.04。

    不确定 CCS 12.1.1.8是什么、请至少使用 CCS 12.7版本。

    junjie Zhang 说:
    所以我决定手动实现所有内容。

    在 SDK 中使用以下特征、然后手动修改:

    然后、您可以在没有 SysConfig 文件的情况下添加自定义代码。

    B.R.

    Sal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sal、

    感谢您的回答。 实际上、CCS 的值是20.1.1、我使用了 GPT 来改进我的措辞、它将20.1.1更改为12.1.1 -抱歉!!

    我检查了您的建议

    mspm0_sdk_2_04_00_06/examples/nortos/LP_MSPM0G3507/driverlib/empty_non_sysconfig/empty_non_sysconfig.c

    这正是我使用的起点。

    任何进一步的建议都是非常可取的。

    此致、

    Ilgis

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、llgiz、

    您共享的代码不是用于 MSPM0、它来自其他微控制器。  以 DMA 为例、外设寄存器中没有 DMA->IRQSTATUS0。 DMA 寄存器支持的内容如下:

    junjie Zhang 说:
    您能建议如何正确编译和运行这样的裸机工程吗?

    您应该使用提供的寄存器映射和变量来配置它。

    B.R.

    Sal