00:00:00 --- log: started forth/20.06.25 00:10:25 --- quit: siraben (*.net *.split) 00:19:51 --- join: siraben joined #forth 00:39:07 --- quit: dys (Ping timeout: 265 seconds) 01:36:08 --- join: xek joined #forth 01:44:45 --- join: dys joined #forth 01:57:55 --- quit: proteus-guy (Ping timeout: 240 seconds) 02:57:11 --- quit: jedb (Remote host closed the connection) 02:58:26 --- join: jedb joined #forth 03:28:38 --- join: TCZ joined #forth 03:43:45 --- join: gravicappa joined #forth 03:46:24 --- quit: TCZ (Remote host closed the connection) 03:46:56 --- join: TCZ joined #forth 04:26:12 --- quit: xek (Ping timeout: 256 seconds) 04:26:51 --- join: xek joined #forth 04:27:02 --- quit: jsoft (Ping timeout: 246 seconds) 04:32:12 --- quit: TCZ (Ping timeout: 260 seconds) 04:34:35 --- quit: Zarutian_HTC1 (Ping timeout: 240 seconds) 04:40:59 --- join: Zarutian_HTC joined #forth 04:43:13 --- quit: jedb (Ping timeout: 258 seconds) 04:55:34 --- join: TCZ joined #forth 05:31:42 --- quit: SysDsnEng (Quit: SysDsnEng) 05:38:35 --- join: jedb joined #forth 05:39:58 --- join: jedb_ joined #forth 05:43:12 --- quit: jedb (Ping timeout: 256 seconds) 05:47:29 --- quit: xek (Ping timeout: 265 seconds) 06:49:25 MrMobius: you don't need any the fancy register allocator but i don't know how much flash is saved by removing it 06:50:00 --- quit: TCZ (Ping timeout: 260 seconds) 06:58:16 --- join: dddddd joined #forth 07:06:31 --- join: xek joined #forth 07:25:29 --- join: asl2 joined #forth 07:39:56 --- quit: xek (Ping timeout: 256 seconds) 07:40:47 crest, good point 07:41:08 --- quit: jedb_ (Ping timeout: 256 seconds) 07:41:37 --- join: X-Scale` joined #forth 07:41:41 the other thing I'm not sure about is how you could get the addresses of C global variables to the embedded Forth 07:41:41 do you want to provide the forth with its own console connection? 07:42:12 C normally lacks such reflection at runtime 07:42:25 crest, I imagine having it hooked up over its own UART if that's what you mean 07:42:35 --- quit: X-Scale (Ping timeout: 264 seconds) 07:42:36 --- nick: X-Scale` -> X-Scale 07:42:57 because i'm working on a different hack: https://github.com/Crest/swdcom/ 07:43:00 runtime interactions with c code may be achieved with dlopen 07:43:14 jackdaniel: which isn't available on bare metal 07:43:18 how do you mean? not sure about gcc but other compilers will give you a list of fixed global variable addresses with assembly output 07:43:20 unless you implement it 07:43:21 fair enough 07:43:52 it would probably be easier to generate forth code from the symbol file 07:44:38 --- join: jedb joined #forth 07:44:38 ya maybe 07:44:47 the build system would have to build the C code, generate forth code from the C symbol file, build the forth system, combine both in a single image 07:46:04 hmm ya. that's a bit complicated for most people I think 07:46:23 make build 07:46:25 make flash 07:46:40 better alternative might be to compile C and Forth all at once so you don't have to change any make files then run something to extract global addresses and transfer that over serial to the forth 07:47:12 do you want to write compiler for C and forth? 07:47:52 definitely not for C. maybe enough of a forth for debugging but hopefully not that either 07:57:25 crest, is the 20k for mecrisp stellaris what runs on the parent board? 07:58:53 thats for mecrisp stellaris running selfhosted on a stm32f103 08:00:06 it has to be rounded to full 2048 byte flash pages 08:00:50 so it programs itself instead of a slave stm32? 08:02:27 yes 08:02:48 it's an untethered forth 08:03:05 picocom is enough to interact with it 08:12:55 --- quit: gravicappa (Ping timeout: 240 seconds) 08:15:54 --- join: gravicappa joined #forth 08:16:30 --- quit: Zarutian_HTC (Read error: Connection reset by peer) 08:16:52 --- join: Zarutian_HTC joined #forth 08:17:29 --- join: xek joined #forth 08:21:41 they were discussing debug consoles on slack for C programs and someone suggested Forth 08:22:02 so I was curious if anyone had implemented this for stm32 yet 08:22:24 someone said Forth looks like a large programming environment and he prefers Circuit Python, lol 08:23:57 ROFL 08:37:54 you could write a very small token threaded forth on a cortext m3/m4 08:38:35 you could even support a mixture of 8bit and 16bit tokens 08:39:47 thats exactly what I was thinking to keep it really small 08:40:20 and the inner interpreter could be short 08:41:57 I was thinking 8-bit tokens and one token for user defined words 08:42:05 why so limited 08:42:27 why would you need 16-bit tokens? you only need enough for built in words I think 08:43:10 because 256 tokens are an annoying limitation 08:43:27 --- join: TCZ joined #forth 08:44:04 why? you could implement a full Forth with less than 255 words and then you only need the one token to signify a user defined word and you can have as many of those as you like 08:45:11 okay so you want to encode longer tokens in 3 bytes e.g. 0xff 08:45:51 you can keep it all in a single jump table 08:46:12 your inner interpreter only has to expand short tokens into their index in the table 08:47:55 ya that would work 08:48:47 --- quit: Zarutian_HTC (Remote host closed the connection) 08:49:42 the other problem besides getting global names from C into Forth is saving useful words between reflashing 08:51:20 that's not a problem 08:51:35 --- join: proteus-guy joined #forth 08:51:46 keep them in different flash pages 08:52:49 after all TBH has a 128kB forward jump range 08:53:11 that should be enough to cover multiple flash pages on any sane microcontroller 09:01:10 --- quit: TCZ (Quit: Leaving) 09:03:37 for that you'd have to understand how the image created by the C compiler gets flashed 09:03:46 so assuming it just starts at the first sector and goes in order 09:07:08 thats also one more thing to go wrong if the person setting it up doesnt know which flash sector is the last one 09:07:49 although I guess you could provide a header where all they have to do is indicate which stm32 they are using 09:24:14 --- quit: asl2 (Quit: Leaving.) 09:57:38 --- quit: jedb (Ping timeout: 256 seconds) 10:02:34 --- quit: xek (Quit: Leaving) 10:49:49 --- join: andrei-n joined #forth 10:56:39 --- quit: dys (Ping timeout: 260 seconds) 11:02:03 --- join: Zarutian_HTC joined #forth 12:04:58 --- join: dys joined #forth 12:47:39 --- quit: andrei-n (Quit: Leaving) 14:33:06 --- quit: gravicappa (Ping timeout: 256 seconds) 14:52:04 --- join: dave0 joined #forth 15:14:09 --- quit: dave0 (Read error: Connection reset by peer) 15:19:21 --- join: dave0 joined #forth 15:54:39 --- quit: dave0 (Read error: Connection reset by peer) 15:59:51 --- join: dave0 joined #forth 17:02:44 --- join: TCZ joined #forth 17:14:33 --- quit: TCZ (Quit: Leaving) 17:21:37 --- join: jedb joined #forth 17:23:36 --- quit: jn__ (Ping timeout: 246 seconds) 17:31:50 --- join: jn__ joined #forth 17:59:55 --- quit: jedb (Ping timeout: 240 seconds) 18:06:22 --- join: jedb joined #forth 18:42:46 --- join: boru` joined #forth 18:42:49 --- quit: boru (Disconnected by services) 18:42:52 --- nick: boru` -> boru 19:00:43 back 19:01:06 hey guys 19:05:03 hey tabemann 19:09:20 --- join: kamid joined #forth 19:09:39 hey MrMobius 19:09:51 * tabemann is wondering where tp has gone off to 19:12:12 or rdrop-exit for that matter 19:16:17 about the above 19:16:30 flashing differs considerably between different stm32's 19:16:47 like the L476 flashes in 2K pages, plain and simple 19:17:09 the F407 on the other hand flashes in large sectors which, while in order, are not all the same size 19:19:25 s/flashes/erase 19:19:28 *erases 19:20:43 also, erasing on the L476 is fast while erasing on the F407 is really slow 19:22:39 bbl 19:29:24 --- quit: jedb (Ping timeout: 256 seconds) 19:32:22 --- join: Zarutian_HTC1 joined #forth 19:32:23 --- quit: Zarutian_HTC (Read error: Connection reset by peer) 19:35:58 --- join: jedb joined #forth 20:22:48 --- quit: iyzsong (Ping timeout: 260 seconds) 20:30:34 --- join: iyzsong joined #forth 21:37:07 --- join: jedb_ joined #forth 21:38:40 --- quit: jedb (Ping timeout: 256 seconds) 21:47:24 --- join: gravicappa joined #forth 22:06:58 --- quit: remexre (Quit: WeeChat 2.8) 22:07:17 --- join: remexre joined #forth 22:19:28 --- join: jsoft joined #forth 22:40:15 --- quit: jedb_ (Ping timeout: 240 seconds) 22:59:02 --- join: jedb joined #forth 23:04:14 --- quit: jedb (Ping timeout: 246 seconds) 23:47:19 --- join: jedb joined #forth 23:59:59 --- log: ended forth/20.06.25