[HN Gopher] Foundations of Embedded Systems
       ___________________________________________________________________
        
       Foundations of Embedded Systems
        
       Author : blindm
       Score  : 96 points
       Date   : 2021-01-10 18:24 UTC (4 hours ago)
        
 (HTM) web link (f-of-e.org)
 (TXT) w3m dump (f-of-e.org)
        
       | lrossi wrote:
       | Sorry to be off topic. Just want to say that the font used by
       | this website looks terrible on my tablet. Why don't people just
       | use a normal sans font?
        
       | RMPR wrote:
       | This is actually pretty great. I was looking for a way to dip my
       | toes into low level stuff. After skimming a bit it seems very
       | focused on hardware though. Out of curiosity how does it compare
       | to https://jaycarlson.net/embedded-linux/ ?
        
         | petee wrote:
         | Check out "Introductory Microcontroller Programming" by Peter
         | Alley (to be clear, not me.) for Wocester Polytech; I came
         | across this by accident the other day -
         | 
         | [pdf]
         | https://web.wpi.edu/Pubs/ETD/Available/etd-042811-095908/unr...
         | 
         |  _Over the period of being the TA for these courses multiple
         | times, I learned a great deal, but also noticed several
         | recurring issues the students seemed to face. In addition to
         | furthering my own knowledge on the care and feeding of
         | microcontrollers, this thesis is an attempt to provide students
         | with a resource to overcome some of their difficulties, to
         | provide a better understanding of the hardware level operation
         | of a microcontroller, and as instruction into improving their
         | knowledge and code._
         | 
         | edit: in addition, for really low level hardware, check out Ben
         | Eater's series on YouTube building a breadboard 6502
        
         | jimmyswimmy wrote:
         | Most of what embedded is, is hardware. To build the low level
         | software and drivers requires a detailed understanding of the
         | hardware and its datasheets. It would be pretty hard to give a
         | generic overview of the software side these days, because there
         | is just so much out there. I mean you have the TI parts for the
         | beagle bone which have a pair of microcontrollers on them each
         | having access to the same memory as the main processor. There's
         | the video processor on Broadcoms chip in the raspberry pi.
         | Understanding any of the details of these components requires
         | understanding most of thousands of pages of documentation. Most
         | people wait for someone else to do it for them!
         | 
         | In the old days the only peripherals were timers and ADCs. You
         | could make a generic and useful tutorial for those. Not
         | anymore!
        
           | diydsp wrote:
           | After a few decades in the biz I'm seeing things change.
           | Almost all drivers these days are written. Embedded is more
           | about integration. It's also interconnected with many web-
           | based tools and operating systems.
        
             | m-ee wrote:
             | I wish all drivers were written. Aside from things like
             | arduino/pyboard the choice in my experience has been using
             | some massively bloated questionably tested vendor code or
             | just going to the data sheet and writing it yourself.
        
       | sircastor wrote:
       | This is a bit of a side step to the article, but I recommend
       | anyone who wants to really learn low level programming try to
       | write a simple piece of software for the NES. The 6502 is well
       | known, how the NES operates is likewise well known. Is not easy
       | by any means, but I found it to be very rewarding and
       | instructional to how computers work. Alternatively, following Ben
       | Eater's 6502 computer videos is likewise instructional.
       | 
       | I admit this may have had the effect on me because the NES had a
       | special place in my childhood.
        
         | user-the-name wrote:
         | I would go for the GBA, which has a much more comfortable
         | processor, and some very nice graphics hardware. It really hits
         | a sweet spot for capability vs. constrainedness.
        
         | molticrystal wrote:
         | Or you could go from an even more fundamental level with a
         | simple course https://www.nand2tetris.org/
         | 
         | You build up a computer from simulated logic gates,
         | constructing the ALU, CPU, Ram, I/O etc. The opcodes are
         | comparable to those in the CPUs you mentioned, but you have the
         | added benefit of the magic that occurs when it is able to
         | process those opcodes. The best part is, thanks to the courses
         | exceptional guidance and streamlining, it only takes about half
         | a day or so to get it to that point.
         | 
         | After that you can follow the rest of the course to making a
         | compiler, etc. Or you could move to an NES emulator as you
         | mentioned. The nand2tetris halfway mark would also be a good
         | jumping point for the principles, compiler, and RISC equipment
         | mentioned in the OP's course.
        
       | hvasilev wrote:
       | Why are so many videos not available until November 2021?
        
         | ldx1024 wrote:
         | Upcoming events. They are not doing the livestream until then.
        
       ___________________________________________________________________
       (page generated 2021-01-10 23:00 UTC)