此标记用于与ARM(高级RISC机器)系列计算机相关的问题;这是在ARM处理器内核上运行的机器或电子设备或使用ARM内核的系统。
在 keil uVision for LPC2148 逻辑分析仪上找不到我的信号
我正在尝试在keil上为lpc2148运行我的PWM程序。占空比为 10%。但是,我可以在 Port0 (P0.21) 上看到信号。 这是我的代码。我非常有信心这是正确的。 #包括 我正在尝试在keil上为lpc2148运行我的PWM程序。占空比为 10%。但是,我可以在 Port0 (P0.21) 上看到信号。 这是我的代码。我非常有信心这是正确的。 #include<lpc214x.h> int main() { PINSEL0=0x00000000; // P0.0 to P0.15 pins of PORT0 as GPIO PINSEL1=0x00000400; // P0.21 Pin of PORT0 as PWM PINSEL2=0x00000000; // P1.16 to P1.31 pins of PORT1 as GPIO /*Configure the PLL block and set the CCLK and PCLK at 60 MHz */ PLL0CON=0x01; PLL0CFG=0x24; PLL0FEED=0xaa; PLL0FEED=0x55; while (!(PLL0STAT & 0x00000400)); PLL0CON=0x03; PLL0FEED=0xaa; PLL0FEED=0x55; VPBDIV=0x01; /* Setup and initialize the PWM block */ PWMPCR=0x00; // Single Edge PWM Mode PWMPR=60000-1; // Resolution of PWM is set at 1 mS PWMMR0=10; // Period of PWM is 10 mS PWMMR5=1; // Pulse width of PWM5 is 1 mS PWMMCR= (1<<1); // PWMTC is reset on match with PWMMR0 PWMLER= (1<<5)| (1<<0); // Update Match Registers PWMMR0 and PWMMR5 PWMPCR= (1<<13); // Enable PWM5 output PWMTCR= (1<<1); // Reset PWM TC and PWM PR PWMTCR= (1<<0)| (1<<3); // Enable PWM Timer Counters and PWM Mode //PWMMR5 = 1; //PWMLER = (1<<5); //Update Latch Enable bit for PWMMR5 } 请帮忙。 Keil 调试器的“逻辑分析器”工具通过 SWO 跟踪监视特定的“全局”变量。您的代码没有全局变量,并且您没有说明您正在监视的内容。 在实际硬件上仅可以监视全局变量。外设寄存器和 I/O 引脚只能在仿真中进行监控,如 https://www.keil.com/support/man/docs/uv4/uv4_db_dbg_logicanalyzer_restrictions.htm 要获得跟随 PWM 的跟踪,您需要实现一个 PWM 中断处理程序,该处理程序要么将输出引脚的状态复制到全局变量,要么(更好)读取 PWMIR 寄存器并将其复制到全局变量,然后/或将全局设置为由 PWMIR 寄存器推断的状态。然后你监视全局变量而不是直接监视引脚。例如: volatile bool pwmout = 0 ; volatile bool pwmmatch = 0 ; __irq void PWM_ISR( void ) { pwmmatch = PWMIR ; if( (PWMIR & 0x0001) != 0 ) // MR0 = 1 { pwmout = 1 ; } else if ( PWMIR & 0x0020 ) // MR5 = 1 { pwmout = 0 ; } PWMIR = 0 ; // clear interrupt VICVectAddr = 0x00000000; } 然后您可以在逻辑分析仪中监控 pwmout 和/或 pwmmatch。我不熟悉您的特定微控制器,因此上述内容可能需要一些调整。显然,您还需要启用中断处理程序 - 例如: VICVectAddr0 = (unsigned) PWM_ISR; /* PWM ISR Address */ VICVectCntl0 = (0x00000020 | 8); /* Enable PWM IRQ slot */ VICIntEnable = VICIntEnable | 0x00000100; /* Enable PWM interrupt */ VICIntSelect = VICIntSelect | 0x00000000; /* PWM configured as IRQ */ 但我只是复制现有的示例 - 不保证。 最后在main()的末尾添加一个无限循环以防止main()终止到谁知道在哪里:for(;;) { // do nothing } 是的,代码是正确的,但是要使用Keil逻辑分析仪观察波形,您需要指定正确的端口引脚符号。您应该使用 “PORT0.21”,而不是使用 “P0.21”。
我对与 ARM-A 配置文件嵌入式系统相关的术语和软件包感到困惑。 谁能解释一下 ATF(Arm 可信固件)、OP-TEE、Secure World 和 TEE 之间的关系(Tru...
我需要在另一个外部信号的每个下降沿通过 DMA 从某些 GPIO 引脚读取数据。我将时钟信号设置为TIMER外部时钟(下降沿)并将PSC值和ARR值设置为0。...
从内核模块交叉编译时出现错误消息“-mrecord-mcount”
我正在尝试构建一个内核外模块并交叉编译它。 因此,我正在使用 VM、Ubuntu,并将正在运行的内核升级到 5.15.6。 现在,我正在尝试交叉编译我非常简单的“H...
嘿,我对编码相当陌生,我加入了编码俱乐部,因为我对不断发展的技术世界感兴趣。最近的主题是关于计算机体系结构,在小组中我们有......
我想在stm32f1板上创建自己的驱动程序。我想控制MCU build_in led但我无法解决。我正在尝试将 PortC 引脚 13 引脚设置为输出(推挽)模式,之后我想设置位....
来自另一个 ISR 的 Cortex-M7 (M4) SVCall:当 SVCall 具有更高优先级时执行,否则直接进入 HardFault
上下文:编写一个 RTOS,有一个工作调度程序、上下文切换器等。现在实现 SVCall。主要测试/开发平台是STM32F746-Disco Cortex-M7,也适用于带有Cortex-M4的STM32F469 disco...
ld:链接 Apple Silicon 时,未找到 -lSystem 错误的库
xcode 版本为 14.3.1 (14E300c) Mac 操作系统是 Ventura 13.5 我正在运行的命令: ld hello.o -o hello -l 系统-syslibroot 'xcrun -sdk macosx --show-sdk-path' -e _main -arch arm64 链接器产生...
为什么 CMSIS DRIVER 不提供嵌入式世界中使用的所有重要驱动程序
我想使用CMSIS驱动API而不是stm提供的HAL。当我访问链接 CMSIS DRIVER APIs No 我在哪里找到的,最常用的驱动程序,如 pwm、adc、gpio 等,为什么会这样...
我有一台 M1 macbook pro,通过 UTM 虚拟机使用 Ubuntu,但是当我打开文件应用程序并按“其他位置”时,我只看到计算机和 Windows 网络,但它不会向我显示
我需要在 Debian ARM 虚拟机上运行 PAServer。 我最近升级到了 Apple Mac Studio M2 硅计算机。 Mac Studio是ARM,因此我无法虚拟化X86/X64。嗬...
ArmClang/ArmLink LTO 使用 __attribute__((used)) 删除对象
在引导加载程序中,我有一个未明确使用的版本字符串,但必须存在于 ROM 中的特定位置,以便由所述引导加载程序加载的应用程序访问。在源文件版本中...
vfmaq_f32真的有更高的运行精度吗? 我猜 vfmaq_f32 的精度根据不同架构中浮点处理单元的位扩展的长度而变化......
ARM 文档对 PUSH 和 POP 做了如下说明 PUSH 将寄存器存储在堆栈上,其中编号最小的寄存器 使用最低的内存地址和最高编号的寄存器 使用...
我有一个关于 Neoverse N1 中 adds with shift (adds x3, x4, x5, lsl #32) 使用的管道的问题,特别是“adds x3, x4, x5, lsl #32”。 根据Neoverse N1软件优化(http...
可以在android中使用postgresql libpq吗?
我正在使用c++中的android ndk开发一个应用程序。 如何在 Android 中使用 libpq 库客户端? 我无法找到 ARM 的 libpq,那么是否可以为 ARM 编译它? 我尝试使用视觉
可以在android中使用postgresql libpq吗?
我正在使用c++中的android ndk开发一个应用程序。 如何在 Android 中使用 libpq 库客户端? 我无法找到 ARM 的 libpq,那么是否可以为 ARM 编译它? 我尝试使用视觉
Rockchip RK3588 上的新 U-Boot 无法检测到 USB 键盘
这是我之前关于 Rockchip RK3588 的系列问题中的另一个问题,并准备了一个定制的、更新的 U-Boot 版本(基于今年 2023 年的一个),因为我很确定。 ..
我正在尝试运行使用 Docker 的生物信息管道(Nextflow - Eager),但由于我有 Mac M1 芯片,它无法工作,并且收到此错误消息: 命令错误: 警告:所要求的即时信息...
Trace32 中出现 FLOW ERROR (BAD TRACE PACKET ON D-SIDE) 表示什么?
我正在使用外部调试器 Lauterbach 通过 JTAG 端口通过 coresight 收集来自 arm - M7 的跟踪信息。在收集加载程序的踪迹时,T32 的 GUI 显示 FLOW