technoblogy / ulisp-arm

A version of the Lisp programming language for ARM-based boards.
http://www.ulisp.com/
MIT License
97 stars 30 forks source link

Serious problem running on Grand Central #47

Closed anarchodin closed 3 years ago

anarchodin commented 3 years ago

There is a mismatch between the workspace definition for the Adafruit Grand Central M4 Express on the one hand and the definitions used to detect which keywords should be included. Because the final entries in the lookup table are not included unconditionally, that means the reader can run right off the end of the lookup table, locking up the processor.

Fortunately, the fix seems to be simple - instead of defining CPU_ATSAMD51P20 for the Grand Central, define it with CPU_ATSAMD51. This is safe - the Adafruit SAMD core defines all the relevant constants regardless of the MCU being used.

I noticed this because a similar error caused a failure to build in my altered version.

technoblogy commented 3 years ago

Thanks for catching that; it happened to me a couple of times while developing the new version and I thought I had fixed them all, but I must have missed the Grand Central one. I should probably release a 3.5a to fix it before someone wastes hours trying to figure out what's going wrong...