Arduino ProMini Bare Metal Programming

preview_player
Показать описание
This video will describe direct register programming which is a bare metal technique used to program microcontrollers. The Forth programming language is used to create high level words which will run native code on the microcontroller.

Flashforth:
Рекомендации по теме
Комментарии
Автор

Loving this old school approach ... thanks for posting!

rsyoung
Автор

Very interesting, I'm going to go and look at forth now.

Tarbard
Автор

Excellent - very good indeed. Maybe you could demonstrate TWI and SPI using Forth - that would be appreciated.

MXYM
Автор

it is just amazing!
first video I saw from your channel I thought it just can do simple things like ~"blink led MANY" but after watching your other awesome videos I got more and more interested... I went and read about the FORTH language on the internet and I found out that there is much more into it and I found that fascinating.
also you have kind of hackery approach to solving problems. solutions in matter of minutes which is so interesting!
I just want to say thank you so much and I learnt a whole different way of thinking from you and I really appreciate your job
best regards

alijabari
Автор

Thats amazing. Now you can write blink led program in 1/4 of the memory needed in arduino.

hemantbabel
Автор

Really nice job. This level of instruction is hard. You did a good job covering the entire thing without getting bogged down in detail. Maybe people will have the courage to give it a try.

It would be nice to have you walk through the tools used. Everyone can buy an FTDI PCB but few know anything at all about the thing. Very much the same story with anything from Atmel.

boonedockjourneyman
Автор

Very cool. If this was an hour long I'd gladly watch it (a few times :-)

I think the install procedure you described here is also possible with an USBasp programmer and AVRdude, if someone wants to use a Linux system and open source tools.
I haven't tried (loading) Flash Forth with this toolchain. I regularly use the USBasp and AVRdude to upload binaries directly to an AVR. Perhaps one day I'll be in a position to buy another more modern computer with windows, but until then I like, and can get by with, my old gear and Lubuntu pretty well.

Do you write everything from scratch in Forth or are you using some libraries? How would you interface with some random hardware. For instance, I just picked up a few vintage HDPL-1414 character displays for fun. They have a 2 pin address and 6 pin data parallel connection along with a Write pin. I just wrote a sketch to interface an uno with 4 displays connected in parallel on a bus a couple days ago. The only Arduino library I found for these required an I/O expander chip I didn't want to use.
...anyways...I am curious how you'd develop something like this in Forth. That, or even something simple and well established like coding a basic voltmeter with the AVR and a HD44780 based 16x2 display. How would that come together with Forth?
Thanks for the upload.
-Jake

UpcycleElectronics
Автор

Very nice. I seem to resist the "bloat ware" we call progress in modern IDE's and API's. In college I learned assembly language using Tandy's Color Computer II. I think is had a 6805 processor. It was a great way to learn how computers really work.

noweare
Автор

Nice - Forth seems to be gaining popularity in the MCU world. If you ever decide to do anything with the Propeller again, it has a very sophisticated Forth system available that's very actively maintained and extended that the creator has named Tachyon. A derivative of it will actually even be baked into the ROM of the next Prop MCU (P2) that can optionally be used on chip bootup for diagnostics, etc, or even to use for full-fledged on-chip development. Cheers

jesseburt
Автор

So, can you have Forth on one of these and use it to flash Forth to another?

Voidsworn
Автор

Hi, very interesting. As a noob I'm trying to follow along, could you share your word definitions, please?

PhilWaller
Автор

I installed flashpoint 5.0 from the site, but none of your word exist. Do you have a special build somewhere?

Nebulorum
Автор

In forth there's a word called CODE that will call assembly directly. Is that what "as:" does ? I'm not sure how it works in forth. Maybe like CODE lda x ldx b or something ?

mychromebook
Автор

After installing flash forth on atmega328p, how much resources are we left with? Sorry I'm not being lazy to look it up, just can't find the info easily. We can right bare metal assembly snippets as you shown, is there a restriction to the size? or can we develop a whole assembly program through FF (for example Conway's Life)? Much appreciated and your channel has helped me a lot :)

roopi
Автор

You use an OS. So it's not bare metal!

Muck-qyoo