AVR bootloader

The boot loader

                             

Task : to develop general purpose linux based boot loader application for AVR micro-controllers .

Objective : AVR is most general purpose microcontroller used in Robotics and many electronics systems. In order to programme AVR we need bootloader application which in turns burns our hex code in flash memory of MCU. There are some general purpose bootloader applications available like HID bootloader , boot loader from robosapience India etc. But they have some compatibility issue with MCU. Hence in order to remove that proper boot loader application is required . We use programmers to program MCU . On windows os , there are many issues with programmer like 'digital signature' etc . Hence on windows some times boot loader can't work properly with programmer. Hence in order to remove that disadvantage I made an application on Linux platform which is open source . As linux supports most of the hardware devices . issues with programmer detection on windows os has been solved . The application is more interactive and general purpose. Using AVR dude programme for AVR over terminal is hectic task hence developing general purpose boot-loader is appropriate. And specialty is - application is FOSS .

Platform :
  •        Ubutu Linux 14.04 LS os
  •        Python 2.7.6
  •        AVRdude program from GNU       
 Summery :
      application uses AVRdude programe to burn hex code in MCU . The interactive GUI is developed using python Tkinter. 

Welcome screen :
     The welcome screen is where we have to add path where our .hex file is located. Burn to AVR button below it , is used to burn the code in AVR MCU .



Programmer select menu:
            In this menu we have to select proper programmer from drop down menu . Since project is open source , user can add his own programmer name in it also .



  
Serial sending :
           Application is also able to transmit data serially to any serial device connected to the Ubutu GNU/linux system ,using this menu.clicking on serial port interactive session will open who will then communicate with serial port.

 

Help menu :
    Help menu is the general purpose Documentation help portal . It connects necessary help server .

Logic used :
            The application basically used AVRdude program to burn hex code in MCU.
           When user enters path name where .c file od code is saved , script file is run which compiles this C code with AVR-gcc compiler and creates necessary object files etc. then Script file runs AVR-dude programme to burn hex code in MCU . user's .c file is copied from source to applications working directory in order to operate on it. Serial monitor uses serial library of python to send serial data to serial devices , which cn be listed down from drop down menu on 'send serially menu '. Help menu uses os library to open necessary documentation links in firefox web browser (which is default in most of the GNU/Linux systems).

No comments:

Post a Comment