RP2040 - NO SDK! Assembly Language Programming - BMA -04

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 พ.ย. 2024

ความคิดเห็น • 36

  • @kpharck
    @kpharck ปีที่แล้ว +7

    Correction : 07:55 -std=gnu11 part is not "gnu version", but tells the compiler to interpret the c source according to c 2011 standard with GNU extensions.

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว +2

      You're right. Thanks for the clarification.

  • @charles8237
    @charles8237 ปีที่แล้ว +3

    Seriously awesome! As someone who is coming out of a bachelors degree, this is exactly the kind of in depth knowledge that I felt like I was missing, and I want to gain! Thanks!!!

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว +2

      You're welcome! A lot of times you have to create your own in-depth knowledge. A bachelor's degree is a great start; it helps you incorporate fundamentals as you build your experience. Good luck!

  • @wktodd
    @wktodd ปีที่แล้ว +2

    I love the depth and pace you sey David 8⁠-⁠) great stuff

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว

      Thank you, and thanks for watching!

  • @jcamargo2005
    @jcamargo2005 9 หลายเดือนก่อน +1

    Wow, it is a complex procedure to boot an SoC! Thanks!

    • @LifewithDavid1
      @LifewithDavid1  9 หลายเดือนก่อน +2

      That's why the SDK adds so much overhead. But that's also what makes it so much easier for C/C++users. Thanks for watching!

  • @nihongophileist
    @nihongophileist ปีที่แล้ว +1

    Thank you so much for your video David I've found it a great help. Can confirm (with very minor modifications) that this works on the rpi4 as the dev machine with pi pico w as target. :)

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว

      That's great to know! Thanks so much for the info and for watching!

  • @tomstewart1444
    @tomstewart1444 ปีที่แล้ว +1

    Hi David, that must have been a lot of sluething to figure it all out.
    Thanks for scrutinizing the inscrutable and showing us how it works
    (I'm still wrestling with @#$% cmake)

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว

      You're welcome. It took a lot more effort than I originally thought. I hope it will help.

  • @taipo101
    @taipo101 9 หลายเดือนก่อน

    This reminds of the original stuff we had in Dr Dobbs Journal. Great level. Thanks

    • @LifewithDavid1
      @LifewithDavid1  9 หลายเดือนก่อน

      Dr. Dobbs was great. I also liked Kilobaud; both magazines have vanished over 40 years ago!

  • @linearz
    @linearz ปีที่แล้ว

    Thanks to TH-cam recommendation, found your marvelous channel.

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว

      Great; I hope you enjoy the content. Thanks for watching!

  • @simonsaville9962
    @simonsaville9962 ปีที่แล้ว

    Loving this series, sleeves are rolled-up and it's getting mucky!
    It's probably occurred to you already, but you can use other make targets as prerequisites in another target, so 'uf2: link' will complete the build in one hit, and 'all:' would be redundant.
    Also *-gcc doesn't do anything to the asm files, that gets delegated to arm-none-eabi-as to assemble. Include '-v' with *-gcc to see the full incantation. Including it would add a couple of lines to your Makefile, but not change the outcome.
    Kudos for getting stuck into linker scripts!! Always look like some sort of black magic to me.

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว

      Thanks for the insight. I was thinking about that. During my early ventures into linker scripts, I had so many errors that I didn't want to do too much at any one time. Now I'm experimenting with relocating (again) parts of the program and I'm getting into more errors. When I have the program structure the way I want it, I'll work on streamlining the make file. Also thanks for the info on the gcc assembler. I've got a lot to learn!

  • @mountiedm
    @mountiedm ปีที่แล้ว +1

    Yeah!! This is great!!

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว

      It took a while. I hope it's helpful. Thanks for watching!

  • @RonSheely
    @RonSheely ปีที่แล้ว

    Thank you David. Good job!

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว

      You're welcome. Thanks for watching!

  • @zetaconvex1987
    @zetaconvex1987 ปีที่แล้ว

    Much appreciated. I'm keen to see how the clocks are set. I had a quick look at the datasheet and it seems complicated. There was also something about setting the clock for the GPIO, which I find puzzling. Is that something we need to worry about?

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว +1

      I'm putting together a video on clocks now; should be ready within the week. Hopefully that will help. You don't need to set a clock for the GPIO, you can either export a clock to the GPIO or import a clock through the GPIO. I will demonstrate both. Thanks for watching!

  • @sapiosuicide1552
    @sapiosuicide1552 8 หลายเดือนก่อน

    Awesome

  • @henkoegema6390
    @henkoegema6390 ปีที่แล้ว

    Exellent work. 😃
    I could not have done it. 🤫

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว +1

      Thank you. Hopefully this helps you continue on your journey.

  • @ezequieldonhauser
    @ezequieldonhauser ปีที่แล้ว

    great video! :)

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว

      Glad you liked it! Thanks for watching!

  • @tarantula_live
    @tarantula_live ปีที่แล้ว

    Why did you need to modify the linker file and what exactly did your change do?

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว +1

      I might have been able to use the linker script as is; but I decided to get rid of a lot (but not all) of the stuff I didn't need for this exercise. My linker script is about 89 lines long; memmap_default.ld is nearly 259 lines long. Here is the original: github.com/raspberrypi/pico-sdk/blob/6a7db34ff63345a7badec79ebea3aaef1712f374/src/rp2_common/pico_standard_link/memmap_default.ld
      Hope this helps.

  • @Mohamed_Ali-24M
    @Mohamed_Ali-24M ปีที่แล้ว

    Please how to write C code bare metal programming using register and how to read the datasheet

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว +1

      Check out my Bare Metal Adventures, Chapters 1 and 2. There I use the SDK with a "C" helper program. Hopefully that will help.

  • @becomingguru83
    @becomingguru83 ปีที่แล้ว +1

    This was valuable to me. If you put up a patreon page (or even just paypal), I'll give you some monetary support

    • @LifewithDavid1
      @LifewithDavid1  ปีที่แล้ว +4

      I appreciate the thought, but I do these videos just because I enjoy sharing the fun of low level programming with others. Please spread the word to others and thanks for watching!