BASIC for Arduino ARM

What products would you like to see?
basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

BASIC for Arduino ARM

Post by basicchip »

We've got a couple of Arduino Zero's here and we have BASIC up and running on them. Ported the code into the Arduino environment (wow what a hog -- but it does support a hole raft of CPUs).

It's far enough along to run our test programs and do some benchmarks.

I expect this will be a free download, hopefully we can figure out how to use their binary loader so we don't have to distribute 100s of MB of project.

Expect a Kickstarter kickoff for this soon.

Who came up with the name Zero? Must not be a marketing person.



basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

Re: BASIC for Arduino ARM

Post by basicchip »

Steps to download BASIC for SAMD21

If you have not download the BASICtools IDE download and install that now

https://coridium.us/files/setupBASIC.exe

then download the latest release BOSSA app which loads BASIC firmware

https://github.com/shumatech/BOSSA/releases

And this is the one we used -

https://github.com/shumatech/BOSSA/rele ... -1.9.1.msi

basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

Re: BASIC for Arduino ARM

Post by basicchip »

Run the BOSSA installer

Download these 2 files - BASIC firmware binary for ArduinoZero and MKRzero

The files have been removed, and are available to Kickstarter backers. It will cost you a buck, but if you need it more than I do, I'll refund it after you back the Kickstarter (assuming you have a Paypal account)

Unzip the files to some directory

Yes this is a moving target, and we are fixing small issues, so check back. These files were last updated Aug 13, 2019. I will keep updating this copy of the files, so there is only one place to look

A known issue seems to be these boards, work well on USB 2.0 ports, but not so well on 3.0 ports. This is an Atmel issue, unless someone can point me at a fix.

For any issues or questions feel free to email me bruce at coridium.us

basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

Re: BASIC for Arduino ARM

Post by basicchip »

Before you run the BOSSA app, get the Arduino into download mode. Do that by hitting the RESET button twice.

Run BOSSA app

MAKE SURE you set the OFFSET to 0x2000 otherwise you will brick your part and require an ICE download


arduino1.png
arduino1.png (21.59 KiB) Viewed 18525 times
Choose the serial port

Choose one of the binary files

Set Flash Offset to 0x2000

Then WRITE button.

basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

Re: BASIC for Arduino ARM

Post by basicchip »

Then restart the Arduino (in this case a MKRZero), and startup BASICtools

You should see this welcome screen and you are ready to write BASIC programs on the Arduino
arduino2.jpg
arduino2.jpg (37.66 KiB) Viewed 18525 times

basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

Re: BASIC for Arduino ARM

Post by basicchip »

Note to self -- program bootloader for SAMD21G MKRZero

After stumbling around for an afternoon trying to figure out how to load a BOSSA compatible bootloader onto a MKR Zero clone, I accidentally stumbled onto how to do it.

Using a uLink2 connected to the SW debug pins

Use Arduino IDE, under tools select the board -- Arduino MKRZero

and select programmer -- Atmel EDBG (I know the uLink2 is not, but it looks to openocd like it is)

and Burn Program, picture below
bootloader.jpg
bootloader.jpg (193.81 KiB) Viewed 18502 times

basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

Re: BASIC for Arduino ARM

Post by basicchip »

Known issues as of 8/14

STOP statement in a program does not quite work correctly

USB 3.0 still flakey, not sure there is a fix for it, seems to have complaints about it in the Arduino forum.

basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

Re: BASIC for Arduino ARM

Post by basicchip »

Support files for SAMD21

register definitions --
SAMD21.bas
(46.41 KiB) Downloaded 950 times
pin naming files -- seems like Arduino likes renaming which we find difficult to support in firmware, so #include files
pins_mkrzero.bas
(9.08 KiB) Downloaded 918 times
pins_mzero.bas
(7.8 KiB) Downloaded 877 times
pins_zero.bas
(10.95 KiB) Downloaded 874 times
Example files
SAM_Timer.bas
(3.7 KiB) Downloaded 888 times

olzeke51
Posts: 414
Joined: Sat May 17, 2014 4:22 pm
Location: South Carolina

Re: BASIC for Arduino ARM - Adafruit Feather M0 Expres

Post by olzeke51 »

Hey Y'all,
In anticipation of the kickstarter release of the SAMD21G ARMbasic firmware,
I turned an ADAFruit 'Feather M0 Express' into a testbed for Coridium - I'll
get to CircuitPython in a bit.!!
'
It appears that the pinout functionality is very similar to the Arduino Zero.
There aren't as many Digitals as they have been re-functioned to a NEOpixel
device (tri-color type LED) and being this Feather was designed for ADAfruit's
CircuitPython ; there is a "2 MB SPI Flash storage" chip. One of the Digitals
was/will be configured for a VBAT measurement via an AD() command.
'
So taking several pieces of documentation, I created a "pins_Feather_Ex.bas"
for those of us that want to check out a SAMD21G with Coridium's (embedded)
ARMbasic. Send me any corrections or post an update.
'
I have tested pins A0 thru A5 for GND and floating/no input, and A5 for 3v3.
'
Happy Testing - on "BASIC_zero.bin" from the zipped file on the 14th.
Gary Olzeke51
pins_feather_Ex.bas
(1.56 KiB) Downloaded 600 times

basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

Re: BASIC for Arduino ARM

Post by basicchip »

Got the video almost ready for the Kickstart campaign

https://www.youtube.com/watch?v=4ti43rCeyVc

Post Reply