67得票11回答
命令提示符错误'C:\Program'不被识别为内部或外部命令,可执行程序或批处理文件。

我正在尝试运行以下批处理命令。该命令已从IDE中提取,因此可以确认它是有效的。但遇到了下面提到的错误。 我已经尝试过一些带有双引号的变体,但它们都没有起作用。 即使在powershell中也有相同的消息。C:\Program Files\IAR Systems\Embedded Workbe...

10得票2回答
如何向CMake初始编译器测试传递编译标志?

我正在尝试使用CMake构建一个项目,该项目使用MSPGCC交叉编译器为MSP430微控制器编译。为了成功编译任何简单程序,我们需要传递一个编译标志,指示目标处理器,否则它会失败,就像这样:$ msp430-gcc -o test test.c In file included from te...

10得票1回答
MSP430 CMP 运算符

假设我有以下MSP430汇编代码段: r15:439c 内存映射:4390: 6045 0200 9c43 6400 8844 5044 363a 0000 代码:448a: cmp #0x363a, 0x0(r15) 4490: jnz $+0x1c 4492: Code c...

10得票3回答
有没有一种不需要实际芯片就能在Code Composer Studio集成的MSP430芯片模拟器?

我需要学习编程MSP430,但是还没有实际的芯片。我在Code Composer Studio尝试了所有配置(快照除外,但这不算吧?),都需要使用我的USB接口。那么,如果没有芯片,我该如何学习编程呢? 另外,什么是需要USB接口的仿真器?

10得票2回答
如何在Mspgcc中声明中断处理程序(ISR)?

在 mspgcc 中,声明中断处理程序的首选方法是什么?

10得票3回答
上传的二进制文件大小为什么比实际大小要小很多?

我只用过AVR和MSP430,但对于它们两个来说都是如此。编译并静态链接后,我的ELF二进制文件大约为208kB,Intel Hex二进制文件约为41kB。AVRDUDE告诉我它正在上传约18kB。这里实际上发生了什么?

10得票5回答
MSP430上运行的C程序需要的最大堆栈大小

在不使用递归的C程序中,理论上应该可以计算出调用给定函数及其所调用的任何函数所需的最大/最坏情况堆栈大小。是否有任何免费、开源的工具可以从源代码或编译后的ELF文件中实现这一点? 另外,是否有一种方法可以从ELF文件中提取函数的堆栈帧大小,以便我可以尝试手动计算? 我正在使用MSPGCC ...

9得票2回答
在调试msp430时,打印变量的值在GDB中的操作方法

我正在使用GDB调试我的msp430。我连接目标,然后加载程序的二进制文件,接着“继续”。我的程序可以正常运行,但是我想实时查看某些变量的值。实际上,我想检查代码开始和结束的时间戳,以得到总持续时间。由于我对GDB完全不熟悉,所以我目前在我的代码中添加了这行代码。 printf("Hello...

9得票5回答
“static/extern uint8_t array[2] = {0};"符合ANSI C规范吗?

我对以下代码有疑问: #include "all_needed.h" static uint8_t array[2] = {0}; void main(void) { ... } 一个(模块)全局数组是否允许像上面那样初始化,以使每个成员都设置为零,同时符合ANSI C标准? ...

9得票4回答
如何在断电期间防止“部分写入”数据损坏?

在嵌入式环境中(使用MSP430),我曾经看到一些数据损坏是由于对非易失存储器进行部分写入所致。这似乎是由于在写入期间(无论是FRAM还是信息段)断电引起的。 我正在使用CRC验证存储在这些位置的数据。 我的问题是,如何正确地防止这种“部分写入”损坏?目前,我已修改我的代码以写入两个独立的...