<tp> crest, no your makefile is missing something
<crest> strange
<tp> have a look at it ?
<crest> sure
<tp> there is no target
<crest> the makefile defines two targets swd2 and clean
<crest> and marks clean as phony
<crest> the stlink virtual com port hangs on uploads
<tp> CC?=clang
<tp> CSTD=c99
<tp> CFLAGS+=-std=$(CSTD)
<tp> WARN=-Weverything # Excessive
<tp> CFLAGS+=$(WARN)
<tp> CFLAGS+=-I/usr/local/include
<tp> CFLAGS+=-L/usr/local/lib
<tp> LDFLAGS+=-lstlink-shared
<tp> swd2: swd2.c
<tp> $(CC) $(CFLAGS) -o $(.TARGET) $(.ALLSRC) $(LDFLAGS)
<tp> .PHONY: clean
<tp> clean:
<tp> rm -f swd2
<crest> looks good
<tp> oh
<crest> that makefile defines two targets (swd2 and clean)
<tp> apologies I was using gmake
<tp> !
<tp> make works
<tp> now I can try it :)
<crest> yeah gmake lacks the long names $(.TARGET) and $(.ALLSRC)
<tp> ahh, sorry for wasting your time
<tp> I was thinking, rather than using lower bits of R11 for status, why not assign a ram cell after the buffer ?
<tp> that way you wont need to halt the cpu ?
<tp> and as you know the buffer address, the ram cell would be buffer + 1 so youd know that also
<tp> ./swd2 20001D58
<tp> 2020-06-12T10:37:03 WARN common.c: unknown chip id! 0xffff0040
<tp> Failed to open the debugger.
<crest> if i knew any address in sram i why not pick the buffer start address?
<crest> i need r11 to discover where in sram the buffer is stored
<crest> the memory layout is <indicies> <buffer> <buffer>
<crest> i have a working swd-key? in assembler
jedb has joined #forth
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
<tabemann> hey guys
<tabemann> ist jemand hier?
<tabemann> crest
<crest> no
<crest> i'm sleeping
<tabemann> ich vestehe es
<crest> i'm not stupid enough to hack through the night ... again
<tp> early night at 04:30 am ?
<tabemann> ich werde dich schlafen lassen
<crest> my assembler code crashes after a receiving a few bytes
<tabemann> mein Deutsch ist nicht gut genug, die Kommentare von Matthias zu verstehen
<crest> mine is :-P
<crest> does this make any sense:
<crest> @ -----------------------------------------------------------------------------
<crest> dup
<crest> @ -----------------------------------------------------------------------------
<crest> Wortbirne Flag_visible, "swd-key" @ ( -- c )
<crest> ldrb r0, [r11, #1]
<crest> 1: ldrb r1, [r11, #0]
<crest> cmp r0, r1
<crest> beq 1b
<crest>
<crest> add r1, r0, 4
<crest> ldrb tos, [r1, r11]
<crest> add r0, 1
<crest> strb r0, [r11, #1]
<crest> bx lr
<crest> r11 + 0 is the RX ring buffer read index
<crest> r11 + 1 the RX ring buffer write index
<tabemann> it's not compatible with multitasking
<crest> why not?
<crest> not that multitasking should be enabled
<crest> because it doesn't yield?
<tabemann> you'll want a PAUSE in there
jsoft has joined #forth
<crest> okay let's ignore that for now
<crest> i don't see how it can crash after a few bytes
<crest> (unhandled interrupt 3)
<tabemann> wwwaaaaaiiittt
<crest> ?
<tabemann> ldrb tos, [r1, r11]
<crest> yes?
<tabemann> oh actually it doesn't matter which order you put r1 and r11 in
<crest> and ldrb does zero extends doesn't it
<crest> so there is no way for something to remain in the upper 24 bits
<tabemann> ldrb doesn't zero extend
<crest> what does it do instead?
<crest> preserve the upper bits?
<tabemann> oh I realized a problem
<crest> that would explain everything (the index would include lots of undefined) upper bits
<tabemann> you can't test for r0 equals r1
<crest> why not?
<tabemann> because that means you're empty
<crest> the RX buffer is empty if both indicies are equal
<tabemann> oh wait it's key not emit
<crest> i wait until they differ
<tabemann> okay, forget everything I've said
<tabemann> it looks like it should work
<crest> but how does ramallot work?
<crest> could it be that i'm overwriting memory that doesn't belong to me?
<crest> i added this to terminal.s
<crest> .equ SWD_Size, 4 + (2 * 256)
<crest> ramallot SWD_Base, SWD_Size
<crest> @ -----------------------------------------------------------------------------
<crest> Wortbirne Flag_visible, "swd-init"
<crest> eor r0, r0
<crest> ldr r11, =SWD_Base
<crest> @ -----------------------------------------------------------------------------
<crest> str r0, [r11]
<crest> bx lr
<crest> could terminal.s be too late?
<tabemann> that looks like it should be good
<crest> maybe something already summed up all the allocations
<tabemann> wait a second
<tabemann> it might be too late
<tabemann> if you're automatically reading r11
<tabemann> unless you boot mecrisp-stellaris
<tp> maybe it's taken by Mecrisp-Stellaris ?
<tabemann> and then attach swdcom
<tp> you need to exclude ram from Mecrisp-Stellaris first
<tp> or it will use it
<tabemann> ramallot is static, at compile time
<crest> isn't that what the ramallot macro is for?
<tp> mecrisps ram allotment is hardwired
<tabemann> and that's what crest is doing
<tabemann> adding another hardwired ram allotment
<tp> matthias says he always excludes the ram he needs when making a special buffer outside Mecrisp-Stellaris
<crest> fuck forth-core.s does contain the sume
<crest> *sum
<tp> the ram allotment is specified in source/cpu.s
<crest> that's not the problem
<tp> where cpu = your cpu
<tp> ok
<crest> after all static allocations are done in the code
<crest> the .equ RamDictionaryAnfang
<crest> is the problem
<crest> the memory layout is all your static allocations followed by the ram dictionary
<crest> allocations after that are invalid
<crest> with the memory corruption fixed it works
<tabemann> do you have a version of your code that doesn't use the integrated assembly, but rather just has the inline instructions?
<tabemann> because I don't want to modify my kernel, but rather to rely upon code loaded after the fact
<tabemann> because integrating it with the kernel will make it harder to integrate with my multitasker
<crest> 1048576 bytes transferred in 11.618941 secs (90247 bytes/sec)
<crest> i transmitted 1MiB in less than 12 seconds
<crest> (without further processing on the stm32l476)
<crest> supposedly running at 48mhz
<crest> with one start and stop bit per frame that is the optimal throughput of a 902470 baud serial port
<crest> once i finish this code it should simplify porting mecrisp to new chips a lot
<tp> wow
<tp> thats fast!
<tabemann> nice
<crest> because you don't have to configure a single gpio pin or interrupt to get a fast and reliable console
<tp> which is ideal on a cortex-m
<crest> afk
<tabemann> I can confirm that it works on zeptoforth
<tabemann> not with the assembly version, but just the version with the inline mov r11, r6 instruction
<tp> nive
<tp> nice
<tp> I had a error
<tp> ./swd2 20001D58
<tp> 2020-06-12T10:37:03 WARN common.c: unknown chip id! 0xffff0040
<tp> is that how you start the new inline version ?
<tabemann> no
<tabemann> I just do ./swd2
<tp> ./swd2 by itself didnt do anything
<tabemann> pull the latest
<tp> I di
<tp> did
<tabemann> I just pulled the latest like a few minutes ago
<tp> I always build from the latest
<tabemann> I stashed my version, pulled, then unstashed, allowing it to merge
<tabemann> then I modified my bootstrap.fs, named bootstrap_zepto.fs to work with it, loaded it up, rebooted, compiled swd2.c, started sw2, and it worked
<tp> swdcom% git pull
<tp> Already up to date.
<tabemann> tp: have you installed bootstrap.fs?
<tp> why do git users always think that fossil users cant use a scm ?
<tp> yep
<tp> all the latest
<tabemann> hmm
<tp> recompiled the c file
<tabemann> I dunno, because it works for me, and I'm not even using the standard out-of-the-box code
<tp> how long after you ran sw2 did it respond ?
<tabemann> but rather a hacked-up swd2.c so it works on linux, and a hacked-up bootstrap.fs so it works with zeptoforth and its multitasker
<tabemann> instantaneously
<tabemann> oh question
<tp> maybe it's my M0
<tabemann> did you restart mecrisp-stellaris after you loaded bootstrap.fs?
<tabemann> the instruction used by bootstrap.fs is thumb-0
<tp> hmm, I really cant recall, gurss i better do it again!
<tabemann> *thumb-1
<tp> oh yeah I did
<tp> it comes up with the buffer address
<tabemann> you're using the old version
<tabemann> the new version doesn't display the buffer address
<tp> odd
<tp> ok, I'll do it again and advise, thanks for the tips!
<tp> tabemann,
<tp> it does
<tp> : init ( -- )
<tp> swd-init
<tp> ." The swd buffer address is: " swd hex. cr
<tp> 72MHz swd-console ;
<tp> thats the init line
<tp> on the latest version
<tabemann> my bad
<tabemann> it's my version which doesn't display the address
<tp> ah
<tabemann> I didn't copy that from crest's code
<tabemann> I must've just figured I wouldn't need it
<tp> mine is slightly different as well but does use the original init stuff
<tp> true
<tp> but your terminal is still locked out ?
<tp> once swd-console runs ?
<tabemann> yes
<tp> i end up with swdcom % ./swd2 and nothing
<tp> and the serial terminal still works
<tp> mt swd programmer dualcolor led is wobulating tho
<tabemann> hmm
<tp> if I run sed2 with the buffer address it complains about the cpu type
<tp> swd2
<tabemann> I can switch back and forth between SWD and serial with swd-console and serial-console
<tp> 2020-06-12T10:37:03 WARN common.c: unknown chip id! 0xffff0040
<tp> I'm guessing it's something like that
<tabemann> probably
<tp> the actual chip ID is 0x0040 and valid
<tp> the chip id is only 16 bits
<tabemann> hmm
<tp> I use it in my f103-diagnostics
<tabemann> I see obviously 32-bit chip ids in other places, such as other people complaining about ST-Link not talking to their MCUs
<tp> really ?
<tp> the ID is a DBG thing and specified in the doc
<tp> I'm guessing stlink is screwing up
<tabemann> sounds like it
<tp> i tried to compile openocd under free solaris and it complained about heaps of stuff. Sometine Linux source is pretty bad
<tp> sometimes
<tabemann> the big thing is that linux programmers only test their code under linux
<tabemann> I too have written code that works just fine under linux but which breaks under freebsd
<tabemann> but it's a two-way street
<tabemann> I had to hack up swdcom to get it to run under linux
<tabemann> (in addition to having to hack up the stlink header files because they were broken due to the mis-maintenance of them by the debian people)
<nmz> freebsd doesn't even have seq
<nmz> they use jot instead
<nmz> so linux programmers should just rely on busybox for shellscripts, and well, apparently freebsd has that abi emulator
<tp> yeah
<tp> when I started with linux full time in 1996 I used to compile everything
<tabemann> back
<tp> i compiled hpux,solaris,ibm (whatever) and with the odd library change they mostly all compiled
<tp> yet nowadays Linux is so specialised it's hard to compile on another unix system
<tp> but Linux had the most mindshare by a long way, it rules the world now
<tp> has
<tabemann> okay, I just did my first pull request
<tabemann> some work will be needed more merging swd2.c and Makefile
<tabemann> because my files are written for Linux, while crest's files are written for FreeBSD
<tp> but swdcom hasnt been updated since we last spoke ?
<tabemann> I made updates locally on my machine, then forked and moved them into the fork
<tabemann> then submitted a pull request between crest's code and the code in my fork
<tp> yeah, the Linux version will need changes, I use FreeBSD and it doesnt work for me because of the chip id
<tp> ahh
<tp> nice
<tabemann> the Makefile needed changes as well for me
<tp> so youre the Linux version maintainer ?
<tabemann> basically yeah
<tabemann> my code also includes the zeptoforth support
<tp> cool, youre the perfect person
<tabemann> but that doesn't need merging
<tp> naturally :)
<tp> swdcom is a great idea, makes it all so much easier
<tp> a much more modern cortex-m Forth
<tp> ./swd2
<tp> 2020-06-12T14:58:18 WARN common.c: unknown chip id! 0xffff0040
<tp> Failed to open the debugger.
<tp> Abort (core dumped)
<tabemann> ugh
<tabemann> I do have to go to bed -got work tomorrow
<tp> ill try the latest stlink
<tp> nighto!
<tabemann> that's probably a good idea
<tabemann> g'night
gravicappa has joined #forth
_whitelogger has joined #forth
dys has quit [Ping timeout: 256 seconds]
WickedShell has quit [Remote host closed the connection]
dys has joined #forth
dddddd has quit [Remote host closed the connection]
mtsd has joined #forth
Keshl_ has joined #forth
Keshl has quit [Read error: Connection reset by peer]
reepca has quit [Read error: Connection reset by peer]
reepca` has joined #forth
jedb has quit [Ping timeout: 264 seconds]
jedb has joined #forth
jedb_ has joined #forth
jedb has quit [Ping timeout: 256 seconds]
rprimus has quit [Ping timeout: 272 seconds]
rprimus has joined #forth
Croran has joined #forth
iyzsong has joined #forth
<crest> tp: did you install the latest bootstrap.fs on the target microcontroller?
<tp> crest I did
<tp> crest I always use the latest
<tp> commit 33cf768f128b3dc9dd8cea2121a3b03422288558
<tp> it may be a stlink-1.5 and cortex-mo isue
iyzsong has quit [Quit: ZNC 1.8.0 - https://znc.in]
dave0 has quit [Quit: dave's not here]
iyzsong has joined #forth
jedb_ is now known as jedb
jedb has quit [Ping timeout: 246 seconds]
jedb has joined #forth
mtsd has quit [Quit: Leaving]
dddddd has joined #forth
iyzsong has quit [Quit: ZNC 1.8.0 - https://znc.in]
iyzsong has joined #forth
iyzsong has quit [Client Quit]
<tabemann> crest: did you see my pull request?
<tabemann> okay, I should be off to work
dys has quit [Ping timeout: 264 seconds]
TCZ has joined #forth
Zarutian_HTC has quit [Ping timeout: 264 seconds]
Zarutian_HTC has joined #forth
WickedShell has joined #forth
dys has joined #forth
Zarutian_HTC has quit [Quit: Bye]
jedb has quit [Ping timeout: 256 seconds]
<crest> tabemann: i did and it's the first pull request i received as well
<crest> of couse i have nothing against the zeptoforth boostrap but i'll have to look over the C code
<crest> the changes to Makefile aren't acceptable in its current form because they hardcode gcc
<crest> even gmake should provide a default CC value
<crest> but given that i just use std=c99 the default compiler should do
<crest> i just wanted the latest clang for its static analyzers
TCZ has quit [Quit: Leaving]
jsoft has quit [Ping timeout: 246 seconds]
<crest> tp: did you get swdcom working again?
<tp> crest, no, I have to set up another pc to try the latest stlink
<crest> tp: did you change something in your hardware setup compared to the last working configuration?
<crest> maybe your devd rules don't allow non-root access to this stlink
<crest> they do have different product ids
<crest> at least my cheap stlink clone and the one the nucleo board different product ids
<crest> and yes my error handling is simple and brutal
<crest> almost no recovery
<tp> no, my hardware is the same
<crest> it just reports terse error message and commits suicide
<tp> the user rules worked before
<crest> i need the command you executed e.g. ./swd2 or ./swd2 addr
<tp> ./swd2
<tp> 2020-06-12T14:58:18 WARN common.c: unknown chip id! 0xffff0040
<tp> Failed to open the debugger.
<crest> that's an error from libstlink
<tp> yeah
<crest> it failed to find any (supported) programmer
<tp> thats why everything is the same as your prev version that was working
<crest> have attempted to unplug and reconnect the programmer?
<crest> (stupid question but sometimes stupid things work)
<tp> um, Im not sure
<tp> I cn easily try it again
<crest> maybe your stlink firmware is hung
<crest> disconnect it from all power sources
<tp> could be, Im not a massive stlink fan
<crest> disconnect the swd connection as well
<crest> i've seen stange things happen
<tp> the stlink dualcolor led was wobulating like with the prev version so it's connected
<crest> e.g. a msp430 is efficient enough to run from a max232 tx pin if you send enough data
<tp> yeah, theyre the lowest of the low power
Zarutian_HTC has joined #forth
<crest> the pcb in question contained a msp430, the firmware a little power management
<crest> if you disconnected the pc polling the sensor values it crashed after a while
<crest> turns out the battery was in the wrong way and the diode protecting the pcb from stupid users worked
<crest> afterward the developer ran a resistor in parallel with the mcu to increase power consumption :-P
<tp> repowered the board, running ./swd2 as root
<tp> #./swd2
<tp> nothing, but not segfaulting
<tp> swd programmer led is wobulating
<crest> sounds like your user just lacked access permissions to the device node in /dev/usb/*
<crest> nicer error handling / reporting is on my todo list
<tp> same when running as normal user
<tp> no core files now
<tp> maybe the power down did that
<crest> i have look into how to reset the programmer (without resetting the target as well)
<tp> but it's hung up in stlink somewhere, perhaps the unrecognised mcu
<crest> i'm not sure if that's possible
<tp> ill install FreeBSD 12.1 on a small spare pc and try stlink 1.6
<crest> it could be that the SWD protocol has too much state for this to ever work
reepca` has quit [Read error: Connection reset by peer]
<tp> i cant install it on this old 11.2 box as it's to old
<crest> i just want to avoid resetting the target at without user permission
reepca` has joined #forth
<tp> I've found stlink slightly flakey anyway
<tp> i generally use the serial bootloader for reflashing
gravicappa has quit [Ping timeout: 265 seconds]
gravicappa has joined #forth
<crest> but they're cheap and fast
<tp> true
<crest> the protocol includes checksumming and handshakes
<tp> serial bootloaders are as fast
<crest> so they're a lot better than plaintext over serial
<tp> but at least cortex-m gives the choice of everything
<crest> sure i could buy a 10Mb/s usart with deep buffers for the host
<crest> and implement dma transfers and crc32 checksumming
<tp> I think swd is a better choice if it works
<crest> it works
<tp> cheaper and easier
<crest> and the great thing about swd that you don't have to know anything about the mcu peripherals to get a working console
<tp> besides, my mcu is compiling as fast as it cant at 460800 baud
<crest> this could be very useful to bring up new chips
<tp> thats a enormous benefit
<crest> just hook up the swd pins and get started
<tp> absolutely
<crest> btw i found a workaround for the limitations of ramallot
<tp> matthis has spent so much time setting up diferent usarts
<crest> i could just call the ram_allot part of the allot at startup
<tp> the usart on the mo is different to the M3 etc
<crest> transmissions from the stm32l476 to the host are even faster now
<crest> 130661 bytes transferred in 1.259149 secs (103769 bytes/sec)
<crest> you would have to run a USART at 1037690 baud 8n1 to match that
<tp> that definitely blows my system away
<tp> of course my mcu cant compile faster than about 115200 baud anyway
<tp> youre sull
<tp> yours will
<crest> i have to slow it down a little by calling "pause"
<tp> ... installing 12.1 atm
<crest> otherwise it breaks multitasking
<tp> i dont run multitasking
<crest> the overhead should be quite low
<crest> because only swd-key? and swd-emit? have to call pause
<crest> i suspec that the mcu has cycles to spare anyway
<tp> probably
<tp> it's nice to have the option tho
<tp> I only have 8KB ram so more than 2 tasks really eats into my ram
<crest> you could reduce the data stack size to 32 cells and the return stack even further
<crest> writing clean 32bit code for a microcontroller feels strange
<crest> i keep wanting to avoid memory accesses because that's oh so slow
<crest> e.g. i wanted to use 16bit loads to check load two 8bit indicies at the same time
<crest> but on cortex-m3/m4 one more ram access is faster than the required bit shifting
<crest> its not like i have multiple (simple) integer pipelines starved by a one or two load store units
<crest> *it's
<crest> on the ppc74xx could execute up to four instructions per cycle under the right cirumstances
<crest> but had to find ways to avoid memory accesses because there was a single load/store unit
<crest> oh the system i nice enough to reset r11 to zero on reset
<crest> so i could just add some polling code to the swdcom startup to read r11 and resume the core for a few milliseconds if it's zero
<tp> dont the registers have random data at reset ?
<crest> doesn't look like it
<tp> nice of arm to reset them
<crest> or maybe the "random" value just ends up to be zero (most of the time?)
<tp> nah
<tp> they would be anything
<crest> e.g. 32 bit powerpc starts with 0xDEADBEEF in all registers
<tp> thats cool
<crest> i haven't found any reference to r11 anywhere else in the code
<tp> Mecrisp-Stellaris doesnt use R11
<crest> but mecrisp could still initialize it with load multiple instructions
<crest> i could even wrap the existing default console
<tp> problem is that thumb1 cant really use R11
<crest> and only switch over to swdcom once something connects
<crest> why?
<tp> it's only available for a couple of instructions in thumb1
<tp> no Mecrisp-Stellaris user will use R11 anyway
<crest> as long as mov is one of them the difference is small
<tp> Forth people use Forth not assembly except in specific cases
<crest> but to be honest i don't care corext m0 right now because i can't test it
<tp> if we wanted to use assembly, we wouldnt use Forth
<tp> sure
<tp> I appreciate that
<crest> mecirsp uses a lot more assembler than required for 98% of the performance
<crest> *mecrisp
<tp> well mecrisp is written in assembler, that doesnt mean that it's users use assembler
<tp> matthias loves assembler
<crest> just not thumb?
<tp> no, he hates thumb
<crest> thumb1 or thumb2?
<tp> matthias doesnt like cortex-m isa
<tp> he a equal opportunity thimbx hater
<crest> because while i'm still guessing a lot of time i like the isa
<tp> and cortex-m isa is hrrible
<tp> matthias loves msp430 isa
<tp> and so do I, it's so easy to use
<crest> sure msp430 is a programmers dream
<tp> a bit like motorola 6800 isa
<tp> but with forth, who cares ?
<crest> but thumb2 offers 2 operand encoding for common cases
<tp> cortex-m is easy with Forth
<crest> but has a longer 3 operand format if that fits better
<crest> things like the IT instruction are also nice to have
<tp> there are pros and cons
<crest> the TBB and TBH instructions could be used for a really fast token threaded forth
<tp> wait till you look into low power
<tp> msp430 is *one* command for low power
<crest> that's not what i would consider part of the instruction set
<tp> cortex-m is a 3 month brain burn
<tp> as a tech, it is to me
<crest> it is complex beast
<tp> youre a programmer, Im a tech, we have different goals
<crest> i know that i know next to nothing about the chip
<tp> the main thing is that msp430 core is tightly integrated with the peripherals, cortex-m just has all the peripherals lumped in, they are far from tightly integrated
<crest> it took me over a day to get the stupid usart remapped from a non existing pin to the default part
<tp> and the usart is the easiest of all
<crest> turned out was looking in the wrong part of the documention
<tp> there is a *massive* learning curve with cortex-m
<tp> thats standard, something we all learn at the beginning
<crest> that's because the all the cortex-m combine stuff from multiple vendors
<tp> the doc is across many places
<tp> exactly
<crest> the code is created and documented by arm
<tp> all the core stuff is arm doc
<tp> all the peripheral stuff is STM
<tp> and in the middle ... might be anywhere
<crest> and arm is designed to support this
<tp> and it does, it's immensly useful
<tp> thats why I use it and not msp430
<crest> so there multiple fast busses from the cpu to the rest of the SoC
<crest> a msp430 is tiny by comparison
<tp> it is
<tp> and has few peripherals in comparison
<tp> no RTC on a msp430
<tp> which a cortex-m user takes for granted
<crest> how much power does the whole msp430 consume with good code compared to just the cortex-m3 rtc?
<tp> crap FreeBSD 12.1 uses stlink-1.5.0_2 same as I have here
<crest> switch to the latest packages
<tp> they are both capable of minuscule power usage
<crest> mkdir -p /usr/local/etc/pkg/repos
<tp> but where you get it in 5 minutes with msp430, it takes 3 months with cortex-m
<crest> echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }' > /usr/local/etc/pkg/repos/FreeBSD.conf
<tp> k
<crest> pkg update
<crest> pkg upgrade -yf
<tp> updating packages
<crest> depending on your connection to the freebsd package cdn this can take a while
<crest> we finally got a faster mirror for most of europe
<crest> and better routing
<tp> 323.6kB/s
<tp> only needs 6mb
<crest> now i finally get >20MB/s at home as well
<tp> nice
<tp> I'm on a slow adsl link
<crest> i'm spoiled by my work infrastructure
<crest> i'm used to an onsite package repo, 10gb/s links and ssds
<tp> it didnt update stlink, looks like I'll have to build it
<tp> nothing like that here unless one works at a university
<crest> i'm using stlink 1.5 as well
<tp> oh
<crest> i just installed stlink from the official package repo and it worked for me
<tp> ill try 1.6 and see if that fixes the mcu not recognised issue
<crest> which mcu?
<tp> yeah worked for me up until the R11 stuff
<tp> stm32f051 cortex-m0
<tp> it's a bonafide chip, the ID is valid
<tp> this chip is used in all STM32F0 Discoveries
<crest> i port of the bootstrap code to assembler is working
<crest> but my assembler code won't work on a cortex m0
<tp> nice!
<tp> thats ok
<crest> and *FAST*
<tp> thumb2 ?
<crest> yes
<crest> is there a IT instruction in thumb1?
<tp> i dont know
<tp> i dont do much thumb assy
<tp> mainly some usart reconfigs
<crest> i'm tempted to claim the default serial port symbol names
<crest> that way my code wouldn't require any changes to files outside of terminal.s as soon as the allocation has been replaced by a call to ram_allot
<tp> ahh, why not ?
<tp> minimal source changes are good
<crest> doesn't feel "right" as a programmer
<crest> i tempted to make my code overly complex
<tp> changes have to stay in terminal.s
<tp> that way you can get matthias to accept them on a per mcu basis, he will never accept changes to the mainline code
<crest> and keep the usart as serial console until swdcom connects
<crest> the only change to the main code is a conditional ramallot
<tp> he wont accept that I think
<tp> terminal.s code changes are ok
<crest> terminal.s changes are trivial to keep as patch
<tp> but you never know, just ask
<tp> sure, but hes ok with that is someone maintains it
<tp> it's the common code he wont change
<crest> i want to move from ramallot to a call to ram_allot in swd init anyway
<crest> that way the code is selfcontained in terminal.s
TCZ has joined #forth
<tp> nice
<tp> do you know how to get a pkg from https://www.freshports.org/devel/stlink ?
<tp> i cant find any link to dl a package there
<crest> because there is none
<crest> freshports is just a search engine
<tp> that explains it
<crest> i parses mailing lists and svn commits
<crest> and indexes the result
<tp> stlink advises to go there for a package
<tp> I've dl the latest stlink texane
<crest> iirc the freebsd (build) had some problems the last few days
<tp> well I'm getting nowhere
X-Scale` has joined #forth
X-Scale has quit [Ping timeout: 260 seconds]
X-Scale` is now known as X-Scale
TCZ has quit [Quit: Leaving]
gravicappa has quit [Ping timeout: 260 seconds]
dave0 has joined #forth
jsoft has joined #forth
<crest> tabemann: around?