Porting to STM32F411 (Black pill)


Hello all,
I am trying to use uLisp with a Black pill.
The new Platform:
#elif defined(BlackPill)
** #define ULISP_SERIAL1 **
** #define WORKSPACESIZE (3000-SDSIZE) /* Objects (8bytes) /*
** #define FLASHSIZE 512000 /
512k Flash /*
** #define CODESIZE 128 /* Bytes /*
** // #define SDCARD_SS_PIN 4**
** #define STACKDIFF 0**
** #define Serial1 Serial**
** #define CPU_STM32F411**

Running uLisp:
(+ (+ 1 2) (+ 3 4) (+ 5 6))
21 <== It’s OK

2999> (and t t)
t <====It’s OK

But then
(defun test <=== here whatever i type after test uLisp is not responding

I am certainly missing something!
Can someone help me.
Many thanks!


Which platform and version of uLisp are you starting from?


Assuming you’re using the latest ARM version 4.3a of uLisp, try putting the following entries at the end of lookup_table[]:

#elif defined(BlackPill)
  { string228, NULL, 0x00, NULL },

// Insert your own table entries here


You’ll probably need to do a bit more work to get things like Serial, I2C, and the SD Card interface to work. There’s a bit of information here:

Porting uLisp to a new platform



Thank you very much. Adding an entry to the lookup_table in conjunction with the declaration

#elif defined(BlackPill)
const char string228[] PROGMEM = “”;

…and everything seems ok for a basic usage!

Don’t know if it is a long way to implement full peripheral.

Anyway again many thanks for your time.