写入atmega328p上的嵌入式操作系统的flash ROM(相当于avr的h8write)

时间:2015-02-12 11:08:04

标签: arduino embedded avr rtos atmega

我目前正在阅读一本关于嵌入式OS / RTOS es的日本书籍,除了我没有使用推荐的硬件,因为我已经有了一个seeeduino微控制器。(atmega328p)这本书是关于KOZOS" 12步骤制作自己的嵌入式操作系统"由Sakai Hiroaki(它的hiro-something)

我被困在我需要写入atmega328p闪存ROM的部分,因为作者正在使用一个名为H8的不同芯片。他使用了一个名为h8write的软件并在他的操作系统中使用它,但老实说我不知道​​此时发生了什么,以及h8write的替代品是什么。我已经环顾四周无济于事,因为关于h8write除了&#34之外做什么的文档很少;它可以帮助你写入flash ROM"这本书出现在书中。

这是我第一次做低层的事情,而且坦率地说是恐怖......

如果有帮助,我会使用ubuntu 14.04。

2 个答案:

答案 0 :(得分:1)

This应用笔记告诉您如何在程序运行期间写入闪存。

可以找到关于如何在AVR微控制器中使用PROGMEM属性的非常好的教程here

答案 1 :(得分:1)

如果我理解正确,h8write程序应该在您的计算机上运行并将编译后的数据传输到微控制器。你正在使用一个与Ubuntu一起使用的seeeduino,这是一个兼容Arduino的主板。在这种环境下编程的标准方法是使用arduino软件:

  • 安装arduino包(sudo apt-get install aruino
  • 从终端模拟器中键入命令arduino:这会带来一个IDE,您可以在其中键入代码
  • 将seeeduino连接到USB端口
  • 点击带有向右箭头的按钮:这将处理所有事情(编译,链接和上传到seeeduino)

一旦您对这个工作流程感到满意,您就可以尝试用低级别的东西弄脏自己。 Arduino IDE建立在较小的实用程序之上,如avr-gcc,avr-libc,avr-as和avrdude。 Avrdude是用于将编译的程序传输到Arduino / seeeduino的程序,即写入闪存。您可以从命令行直接使用这些实用程序。但是,由于您需要传递许多命令行参数,因此我很复杂,因此我建议您使用Makefile自动执行该过程。值得庆幸的是,有一个通用的Arduino Makefile可以让这很容易:

  • 安装通用的Arduino Makefile:sudo apt-get install arduino-mk
  • 阅读顶部评论中的说明(Makefile位于/usr/share/arduino/Arduino.mk)
  • 按照这些说明编写您自己的项目特定的Makefile
  • 输入make来编译您的程序
  • 输入make upload上传到seeeduino(即写flash)。