工具与软件:
您好、专家
我需要在 CM 中设置 CPU Timer0、如下代码所示。
但是、CPU 计时器0寄存器未启用以进行配置。
可能是要被阻止写入。
这些寄存器在 CM 中具有写保护。
但我没有找到一个等待解锁一个保护在一个技术文档.
您能告诉我们如何解锁保护吗?
此致、
Hidehiko
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.
工具与软件:
您好、专家
我需要在 CM 中设置 CPU Timer0、如下代码所示。
CPUTimer_setPeriod( CPUTIMER0_BASE, 2500); /* 2,500clk = 20,000 ns */ CPUTimer_clearOverflowFlag( CPUTIMER0_BASE); CPUTimer_stopTimer( CPUTIMER0_BASE); Interrupt_setPriority( INT_TIMER0, 1); Interrupt_registerHandler( INT_TIMER0, Timer0IntHandler); Interrupt_enable( INT_TIMER0); CPUTimer_startTimer( CPUTIMER0_BASE); CPUTimer_enableInterrupt( CPUTIMER0_BASE);
但是、CPU 计时器0寄存器未启用以进行配置。
可能是要被阻止写入。
这些寄存器在 CM 中具有写保护。
但我没有找到一个等待解锁一个保护在一个技术文档.
您能告诉我们如何解锁保护吗?
此致、
Hidehiko
您好!
请允许我 下周回到您的身边、对此造成的延迟深表歉意。
此致、
Ben Collier
您好!
在尝试写入寄存器之前、应该能够放置以下行:
EALLOW;
您可以使用以下命令重新锁定:
EDIS;
此致、
Ben Collier
尊敬的 Ben:
我需要在 CM 中进行配置的方法。
当我在代码中添加了"EALLOW;...EDIS;"时、
它导致了构建错误。
EALLOW 和 EDIS 未定义。
此致、
Hidehiko
你好、秀彦
您能否介绍一下用于计时器操作的 CM driverilb 函数?
谢谢!
Ben Collier
尊敬的 Ben:
我找不到有关 CM driverlib 函数的说明。
CPU1、CPU2 = TI DSP
CM = ARM
SPNU151W.pdf (ARM 优化 C/C++编译器)
它没有描述 EALLOW。
EALLOW 是 spru514y.pdf 中的 TI DSP (TMS320C28x) C/C++编译器指令(C2000编译器手册)
此致、
Hidehiko
您好!
您是否在未尝试解锁这些寄存器的情况下尝试了写入这些寄存器?
我现在看一下 driverlib 函数、没有什么能解决写保护。
设置周期函数:
static inline void CPUTimer_setPeriod(uint32_t base, uint32_t periodCount) { ASSERT(CPUTimer_isBaseValid(base)); // // Load the MSB period Count // HWREG(base + CPUTIMER_O_PRD) = periodCount; }
此致、
Ben Collier
尊敬的 Ben:
您的意思是这些寄存器不需要 EALLOW 吗?
是否漏掉了有关写保护的描述?
此致、
Hidehiko
Hidehiko
他们是否遗漏了有关写保护的描述?
我认为可能会出现这种情况、您可以尝试编写它们吗?
谢谢!
Ben Collier
Ben、
感谢您的评论。
我知道"写保护"包括错误描述。
此致、
Hidehiko