我有一个黑色的beaglebone,我想从头开始研究一个项目。我已经设置了flyswatter2用于调试和闪存。
我可以使用一个理想情况下应该工作的启动代码。但问题是我不知道begalebone black开始启动的内存地址是什么?什么内存地址我应该将代码刷到董事会的内存中?
如果我知道应该从哪里开始我的启动代码,那么我可以在调试器的帮助下编程并编写UART以获取代码的进度。但我在第一步陷入困境。
请注意,我已经阅读了ARM的AM335x技术参考手册的第26章,它讨论了某些地址的公共RAM和ROM。但我仍然不确定从哪里开始。
如果有人能让我知道在地址0xXXXXXXX处闪烁我的代码会在启动时执行我的代码,那么我可以从那里拿走它。
提前致谢 -Ravi
答案 0 :(得分:1)
实际上,Beaglebone黑板配置为使用外部SD卡或内部eMMC存储器启动,事实上它是焊接在PCB上的MMC卡。
如果你看一下第26章处理器的documentation,它描述了启动过程,从文档的这一部分开始,你将对第26.1.5.7.6章中的BBB感兴趣。最简单的方法是以FAT格式格式化MMC(或内部eMMC),并在格式化后立即创建名为" MLO"的文件。这个文件是FAT文件系统中的第一个非常重要,因此请确保在格式化后立即复制文件。
该文件是一个小标题,后面是二进制格式的应用程序。标题具有以下格式(来自同一文档的第26.1.9.2节):
然后只是你的形象。
Sitara处理器内部有一个ROM代码,可以理解"该文件并执行代码加载。
不是裸机的简单程序,但....
希望它有所帮助。