我有兴趣尝试编译、打包和烧录 Embox到 MCU,从 Windows 或 Mac 机器(交叉编译),通过 JTAG,我有很多担忧。
观察我认为编写 Embox 应用程序并将它们部署/刷新到 MCU 的正常方式:
如您所见,根据我上面的理解:
make
)到某个文件(目标文件?),<file>.<ext>
myapp.o)
与 Embox <file>.<ext>
制作人 make
, (b) myapp.o
(c) 我指定的任何其他库。它将这些作为输入并生成单个应用程序镜像,该镜像已准备好通过 JTAG 我的担忧,也在图中指出:
make
生成的 Embox“神器”的确切名称和文件扩展名是什么?在 Embox 源代码上?这个神器会根据你是在 Windows 还是 Mac 上而有所不同吗?除了什么工具make
有必要生产这个神器吗? myapp.c
和 myapp.h
成myapp.o
那是 Embox 兼容的吗? 最佳答案
第一次听说 Embox,但是把 Embox 和你的代码结合起来的工具显然是 linker (所以交叉 ld
来自 binutils ,见 documentation of ld
)。要了解有关链接器的更多信息,请阅读 Levine 的书 Linkers and loaders
编译 Embox 源代码产生的 Embox 可能是一个库( libembox.a
),或者一个可重定位的目标文件 embox.o
- 可能由 ld -r
制作)。
生成的应用程序镜像可能是原始二进制文件 ( .bin
),但如果它由 GRUB 加载器加载,则它可能是 ELF 文件。
我想构建过程与 Linux 内核构建过程非常相似。
顺便说一句,我认为在 Linux 系统上开发可能会更简单,因为 Linux 每天都使用相同类型的工具。所以你可以在你的开发笔记本电脑上安装 Linux。
您需要一个交叉编译器(针对您的目标平台)来编译您的代码以与 Embox 结合使用。
关于c - Embox 编译和烧写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30358356/