小编Law*_*uly的帖子

使用Linux进行实时编程

我刚刚构建并设置了一个应用了RT补丁的vanilla Linux内核.一切都很顺利,我现在可以正确启动进入新内核.

令我疑惑的是:我有一个我在C中制作的模拟器程序,我希望它以硬实时模式执行,新内核应该允许它.可能整个模拟器不需要以实时优先级运行,但内部的一些任务可以.

我怎么能做到这一点?我认为只是运行该程序是行不通的.

c linux kernel real-time hard-real-time

2
推荐指数
1
解决办法
8334
查看次数

嵌入式编程中宏值之间的比较是否有害?

我正在构建一个需要在ARM上运行的程序.处理器有足够的资源来运行程序,所以这个问题与这种类型的处理器没有直接关系,而是与非强大的处理器有关,资源和计算能力都是"有限的".

要打印调试信息(甚至激活部分代码)我使用头文件,我在其中定义我设置为true或false的宏,如下所示:

#define DEBUG_ADCS_OBC true
Run Code Online (Sandbox Code Playgroud)

在主程序中:

if (DEBUG_ADCS_OBC == true) {
    printf("O2A ");
    for (j = 0; j < 50; j++) {
        printf("%x ", buffer_obc[jj]);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是一个坏习惯吗?有没有更好的方法来做到这一点?

此外,这些IF检查是否会以可衡量的方式影响绩效?

或者可以安全地假设在编译代码时,IF会以某种方式从流中删除,因为在两个不能更改的值之间进行比较?

c c++ embedded macros performance

0
推荐指数
1
解决办法
151
查看次数

标签 统计

c ×2

c++ ×1

embedded ×1

hard-real-time ×1

kernel ×1

linux ×1

macros ×1

performance ×1

real-time ×1