繁体   English   中英

使用 make 命令编译引导加载程序 (ATMEGA2560) 时出现问题

[英]Issue in compiling bootloader (ATMEGA2560) using make command

从上周开始,我正在为 arduino mega 工作 OTA 系统。 我有一个从 SD 卡刷新固件的引导加载程序。 这是 github 存储库https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560/tree/master/hardware/microbridge的链接。

根据引导加载程序 SD 卡芯片的自述文件 select 引脚应连接到arduino mega的数字引脚 53。 当我为 sd 卡的芯片 select 定义引脚 D53 时,它工作正常 问题是我想将 SD 卡的默认芯片 select 引脚从 D53 更改为 D44。

而自述文件( 点击这里阅读自述文件)是说如果你想改变默认的CS pin(即53),你需要改变asmfunc.S中的pinout并重新编译引导加载程序。

要编译引导加载程序,我使用 microchip studio 命令提示符并制作命令。 make 命令如下:

  • 打扫干净
  • 做所有。

但它给出了我不明白的错误。 这是命令提示符的屏幕截图。 在此处输入图像描述 .

以下是我用来完成OTA系统的东西:

  • 开发板:Arduino Mega (ATMEGA 2560)
  • 编程器:AVR-ISP-MK2
  • 开发 IDE:Arduino IDE(版本:1.8.13)

这是我在刻录引导加载程序后使用的代码片段:

#include <SPI.h>
#include <SD.h>
#include <avr/wdt.h>
#include "EEPROM.h"

#define sdcs 44

void setup()
{
   Serial.begin(9600);

   /*----(Initialise sd Module)-----*/
   if (!SD.begin(sdcs)) 
   {                       
      Serial.println(F("Card failed, or not present"));
   }
   else
   {
      Serial.println(F("card initialized."));
   }

   Serial.println("Press 'F' and 'enter' to set flagbit in eeprom 0x1FF to 0xF0 ");
   Serial.println("also to induce watchdog timeout which triggers the bootloader ");
   Serial.println("and flashes the new firmware on the sd card");
}
void loop()
{
   char inChar = '\0';

   while (Serial.available() > 0) 
   {
     inChar = Serial.read();
   }
   wdt_enable(WDTO_500MS); // have the wdt reset the chip

   // if 500ms passes without a reset
   if (inChar == 'F') {
   Serial.println("");
   Serial.println("rebooting and flashing with firmware.bin on sdcard");
   EEPROM.write(0x1FF, 0xF0);
   wdt_reset();
   delay(600); // wait 600ms to timeout wdt
   }
}

以下是引导加载程序目录中存在的文件: 在此处输入图像描述

需要帮助。 提前致谢!

.cof 是 object 文件的一种类型,但查看您的构建文件夹,看起来构建正在创建一个.elf object 文件而不是.cof。 修改 make 文件以更正目标,或者如果您的工具链打算生成该文件,则可能运行make all以创建 .cof 文件。

也就是说, make clean在任何情况下都不应该因丢失文件而失败——项目可能已经“干净”了。 它只是删除构建工件以强制完全重新构建的一种方式 - 如果这些工件不存在,那并不是真正的问题,因为目的只是在任何情况下删除它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM