Porting to STM32F411 (Black pill)


#1

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!


#2

Which platform and version of uLisp are you starting from?


#3

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 },
#endif

// 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


#4

John,

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.

Gérard.