c - 特定计算机的软件堆栈

标签 c assembly cpu-architecture instruction-set

我正在做一个项目,我的团队负责特定硬件的软件堆栈。

我手里只有处理器的指令集,需要用它来开发完整的软件栈。

除了汇编程序的指令集,我还需要其他任何东西吗?

请注意,我不知道该计算机的硬件组织

最佳答案

非常简短的回答是“如果没有进一步的信息,可能是不可能的”。

至少,您需要知道不同类型的内存位于何处,您需要在处理器内部初始化什么 [这通常不在指令集手册中]。典型示例:中断 vector 、定时器、内存 Controller 等,它们通常是处理器本身的一部分,但实际上并不是指令集的一部分。

显然,数字 watch 的软件堆栈非常基础。能够传输加密视频和浏览网页的完整家庭娱乐系统的软件堆栈将相当庞大。手机的软件堆栈更大。 watch 的要求和构建所需的硬件[不是说你可以很容易地把它做得足够小,而是忽略它,因为这是一个软件问题,而不是硬件问题],可能最多需要几天时间。一款能够与当今市场上的顶级产品竞争并至少取得一定成功的智能手机需要一大批非常熟练的软件开发人员花费几年的时间才能完成。显然,在这些相对极端的例子之间还有许多其他基于软件的系统。

关于c - 特定计算机的软件堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15075787/

相关文章:

java - 将编码为字符数组的 C-ctyle 字符串转换为 Java 字符串

c - 调试或链接时, "symbol"这个词指的是什么?

assembly - x86在x86-x64中不同或已完全删除的32位操作码

assembly - 进位标志和减法问题

verilog - 计算机_体系结构 + Verilog

gcc - 就机器代码而言,GCC、clang 和/或 LLVM 中实现的体系结构支持在哪里?

c - 结构问题

c - LocalReAlloc 失败

linux - 我可以通过X86_64机器码获取内存访问信息吗?

xcode - 错误 : unexpected token in '.section' directive . 部分 .text