Getting started with AVR and Linux command line tools

Sdílet
Vložit
  • čas přidán 1. 11. 2020
  • In this video I describe how to compile and upload a small piece of code onto an ATmega32U4 using the avr-gcc toolchain and only command line tools under Linux.
    I use an Ubuntu installation in the Linux subsystem on a Windows 10 computer.
    Tools needed:
    $ sudo apt-get install binutils gcc-avr avr-libc uisp avrdude flex byacc bison
  • Věda a technologie

Komentáře • 16

  • @johnnybravo2342
    @johnnybravo2342 Před 3 lety +2

    thank you for that video! i needed this for a long time. it's so hard to find the simplest examples sometimes

  • @ivanm.3522
    @ivanm.3522 Před 3 lety +1

    Very nice video Uwe! Straightforward and well explained. Many thanks thumbs up and subscribed.

  • @meoDomicio
    @meoDomicio Před 2 lety

    thank you for that video, is good for my

  • @user-fe5np7xq7l
    @user-fe5np7xq7l Před 2 lety

    Thank You!

  • @silenthunter0019
    @silenthunter0019 Před 3 lety +1

    thank you

  • @XR5PL
    @XR5PL Před 3 lety

    danke!

  • @tester428
    @tester428 Před 16 dny

    Hii could you please provide a tutorial on how to change the cursor pointer to the one you use in this video ?

    • @uwezimmermann5427
      @uwezimmermann5427  Před 16 dny

      luckily I don't have to: czcams.com/video/kwSqtNvT7to/video.htmlsi=pu2uKx6T8CqcjTRU&t=487

  • @waldolemmer
    @waldolemmer Před 2 lety +1

    "All three operating systems"

  • @samferrer
    @samferrer Před 3 lety +1

    I wonder if this program would do the same (kind of task schedule oriented):
    #include
    #include
    int main()
    {
    DDRE = 0b01000000;
    int i = 0;
    while(1) // an iteration per millisecond
    {
    switch (i)
    {
    case 0: PORTE = 0b01000000; break; // task at time slot 0
    case 100: PORTE = 0; break; // task at time slot 100
    }
    i = (1 + 1) % 1000;
    }

    • @uwezimmermann5427
      @uwezimmermann5427  Před 3 lety +3

      Your program is built around a state-machine and in principle it will blink the LED in a similar way. But there is nothing in your code which takes care of the exact timing. At a clock frequency of 8 MHz as in our case, one iteration inside your while-loop will be much faster than 1 ms. Including the overhead of the 16-bit compare/add/modulo operations, I would estimate something like 20-25 instruction cycles per turn, this would mean 8 MHz/25=320000 loops per second or 3 µs per cycle, 300 times faster than your assumption. We could test this in one of our lab sessions.
      Also my goal with this short video - possibly not only for the audience in our course - was to keep the code as simple as possible. The switch-case-statements are something I personally like but consider an somewhat advanced knowledge.
      A purist programmer would perhaps point out that a switch-case-statement never should miss, every possibility should be covered - if nothing else by a default-clause...

    • @gapguy9564
      @gapguy9564 Před 2 lety +1

      @@uwezimmermann5427 amazing grip on subject. SIR

  • @MikeThena-r5j
    @MikeThena-r5j Před 15 dny +1

    I love his cursor so BAD!

    • @uwezimmermann5427
      @uwezimmermann5427  Před 14 dny +1

      you'll have to take your own hand though - mine is not for sale 😎

    • @uwezimmermann5427
      @uwezimmermann5427  Před 14 dny +1

      in case you have not seen the other recent comment about the cursor: here is the (Windows) tool czcams.com/video/kwSqtNvT7to/video.html