tabemann / zeptoforth

A not-so-small Forth for Cortex-M
MIT License
192 stars 18 forks source link

Issue Monterey MacOS 12.x, most recent release #16

Open RandoSY opened 1 year ago

RandoSY commented 1 year ago

Speaking of rp2040

Builds fine, loads OK except for complaining about being unmounted improperly, but I can't see new usb serial device in ls /dev?

Latest micropython installs, runs fine.

Thanks, great tool!

RandoSY commented 1 year ago

Seems to build OK? Sorry messy listing. 23 JAN 2023

`(base) admin@admins-Mac-mini zeptoforth % make device=rp2040

much ...

arm-none-eabi-objdump -D ../../zeptoforth.rp2040.elf > ../../zeptoforth.rp2040.list arm-none-eabi-objcopy ../../zeptoforth.rp2040.elf ../../zeptoforth.rp2040.bin -O binary arm-none-eabi-objcopy ../../zeptoforth.rp2040.elf ../../zeptoforth.rp2040.ihex -O ihex /Applications/Xcode.app/Contents/Developer/usr/bin/make -C boot arm-none-eabi-as -g -o ../../../obj/boot.rp2040.o boot.s arm-none-eabi-ld ../../../obj/boot.rp2040.o -T boot.ld --cref -Map ../../../boot.rp2040.map -o ../../../boot.rp2040.elf arm-none-eabi-objdump -D ../../../boot.rp2040.elf > ../../../boot.rp2040.list arm-none-eabi-objcopy ../../../boot.rp2040.elf ../../../boot.rp2040.bin -O binary arm-none-eabi-objcopy ../../../boot.rp2040.elf ../../../boot.rp2040.ihex -O ihex ./boot_with_checksum.py ../../../boot.rp2040.bin ../../../boot_with_checksum.rp2040.bin ./make_uf2.py ../../boot_with_checksum.rp2040.bin ../../`

RandoSY commented 1 year ago

Window 11 machine doesn't see it either ... wondering where *.uf2 binary is?

RandoSY commented 1 year ago

https://github.com/tabemann/zeptoforth/releases

tabemann commented 1 year ago

The UF2 file is in the release tarball at zeptoforth-VERSION/bin/VERSION/rp2040/zeptoforth_full-VERSION.uf2 where VERSION is the version of the release you downloaded. Once you use the USB Mass Storage device to upload the UF2 file, use a USB serial device connected to pins 1 (GPIO 0, UART0 TX) and 2 (GPIO 1, UART0 RX) and use a terminal emulator (I recommend zeptocom.js, if you have access to Chrome or Chromium; as a web terminal it is online at https://tabemann.github.io/zeptocomjs/zeptocom.html) to connect to the resulting USB CDC device.

As for building zeptoforth by yourself, by default it puts the UF2 image at zeptoforth.rp2040.uf2 at the base directory path. However I do not recommend this approach unless you plan on creating a new release on top of it as that is just the zeptoforth kernel alone, which is not very functional by itself.

RandoSY commented 1 year ago

OK thanks, I got it. I need to use an additional USB2TLL converter to talk serial, I naively assumed that an usb instance would be created as it is in Micro and Circuit python. :)

RandoSY commented 1 year ago

I was able to apply this easily to the Cytron Maker Pi: rp2040 ... and it will be nice for robotic experiments.

IMG_0287

Can you point me to a simple Getting Started document ... I think I have a sane install??? Thanks again!

Screen Shot 2023-01-23 at 4 55 31 PM

RandoSY commented 1 year ago

This is the zeptoforth_full-0.59.3.uf2 image from today. I'm sure there is much to learn here.

Screen Shot 2023-01-23 at 5 19 37 PM

tabemann commented 1 year ago

@RandoSY I should note that zeptoforth is meant to be used with a terminal that supports ANSI colors, such as zeptocom.js, or picocom on top of a typical terminal program such as Terminal.app. That is why you were seeing such ugly garbage, because the terminal program you were using clearly does not support ANSI colors.

RandoSY commented 1 year ago

Yes, I see that, really neat project ... shows a tremendous amount of thought.

tabemann commented 1 year ago

Thank you!

tabemann commented 1 year ago

I hope you find zeptoforth useful - while, as the say, free software projects are typically written for their own authors first and foremost, I always hope that someone else will get some use out of zeptoforth. If you have any comments or suggestions, or run into any issues, feel free to bring them up here. (Yes, there's the first and foremost suggestion that I have gotten, which is adding USB CDC console support, and that will happen someday, I know...)

RandoSY commented 1 year ago

There is a very nice blend of the past and future, block editor on one hand, all kinds of support for multiprocessing/tasking, and message passing on the other. Be happy to share what I learn, I have a lot of various rp2040 hardware as they are not expensive, and still easy to get.