<crest>
and so far i didn't have to resort to assembler
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
<crest>
oh shit it's 3am again
<crest>
gn8
<crest>
.oO( that's why my headset wants to recharge )
<tp>
crest awesome work and concept!
<tabemann>
nacht
<tp>
and I love the use of the swd interface, also makes it easy to reflash anytime
<crest>
tp: but you have to stop the swd process to release the stlink for other tools
<tp>
thats fine
<tp>
i just repower the board and swd seems to work, if not just hold the reset button
<tp>
there is no way to disable SWD
<tp>
during the reset process it's active, even if the swd pins have been repurposed by firmware
<tp>
dont ask me how i know this :P
<tp>
wow, the STM32H755xI devices incorporate high-speed embedded memories with a dual-bank Flash memory of 2 Mbytes, up to 1 Mbyte of RAM (including 192 Kbytes of TCM RAM, up to 864 Kbytes of user SRAM and 4 Kbytes of backup SRAM
<tp>
and it can come in a 240 pin package!
<tp>
oh also runs at 240 MHz
<tp>
tabemann, the mcu in your Numworks ... consume up to 0.3 amps at ful speed etc, or 30 mA in standby!
<tabemann>
back
* tabemann
doesn't know whether 0.3 A is a lot or a little TBH
<tp>
it's a lot for a micro, the old Z80 and it's ilk used that much in normal operation
<tp>
my stm32f051 uses about 3mA at 8mhz, rising to 15mA at 96 Mhz
<tabemann>
even with that level of power consumption, it's still my next project after I get wordlists working
<tp>
wow, crests swdcom is the easiest terminal I've ever used
<tabemann>
I'll test it once I'm done with my wordlist functionality
<tp>
no file upload yet but Ive a feeling this could relly go far
<tabemann>
yeeehaw!
<tabemann>
got wordlists working, finally
<tabemann>
I think
<tp>
heheh, famous last words
<tabemann>
note that these are not traditional wordlists
<tabemann>
they don't use DEFINITIONS and VOCABULARY
<tabemann>
rather then use the Forth 2012-isms SET-CURRENT (and GET-CURRENT) and SET-ORDER (and GET-ORDER)
<tabemann>
I decided on this because they are far simpler to implement and far more flexible to the user than the traditional approach in an environment where much of the memory is effectively write-once
<tabemann>
hmm
<tabemann>
I
<tabemann>
'm looking at crest
<tabemann>
's code
<tabemann>
and it seems like it has platform-specific clock-setting code in it
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
<tp>
hes using FreeBSD like me
<tabemann>
I wonder if it'd work right out of the box on Linux
<tabemann>
that clock-setting code will probably need changing before it works on the F407 or L476 though
<tp>
I have actually disabled all the clock stuff
<tp>
I only have from "here 256 2* cell+ buffer: swd 0 swd !" down
<tp>
and I removed the 72MHz
<tabemann>
cool
<tp>
it doesnt matter what clock the mcu runs at
<tp>
crest just set 72 mhz to make it as fast as possible
<tp>
on a blue pill (stm32f103)
<tabemann>
ah
<tabemann>
does this require some specifc st-link library?
dave0 has quit [Quit: dave's not here]
<tp>
so you compile the C file, instruction in the file
<tp>
just stlink
<tp>
theoretically this should run on any discovery as is
<tp>
which is pretty cool
<tabemann>
but I mean, what package do I get the library code from?
<tp>
I didnt use any lib package
<tp>
crest says it's all installed if you have stlink
<tp>
see if you can compile the c file
<tp>
bootload.c
<tabemann>
I installed libstlink-dev under debian and it made it find stlink.h but not stm32.h
<tabemann>
yeah, stm32.h is not mentioned in any file in any package in debian
<tp>
maybe they have split it off into a dev package ?
<tabemann>
I searched everything
<tp>
I dont have it here
<tp>
I have /usr/local/include/stlink.h
<tp>
and I built the binary
<tabemann>
oh that's the thing
<tabemann>
the header file installsed with libstlink-dev is bad
<tp>
how come ?
<tabemann>
donno
<tabemann>
but it's missing that header file
<tabemann>
and I can't seem to find it anywhere
<tp>
i dont have it on my system either
<tabemann>
I'll see what happens if I comment out that include
<tabemann>
I dealt with all the dependency issues, yet it still throws a pile of errors at me when it manages to attempt to compile swd2.c
jedb has joined #forth
<tp>
did you use "cc -O0 -g -std=c99 -Wextra -I/usr/local/include -L/usr/local/lib -o swd2 swd2.c -lstlink-shared" ?
<tabemann>
yes
<tabemann>
with gcc rather than cc
<tp>
oh :(
<tp>
I'm sure crest will know the answer, I'll ask him next time hes on and pass it on
<tabemann>
I suspect many of thes are portability issues
<tabemann>
*these
<tabemann>
OTOH the libstlink-dev package for debian is broken
<tp>
FreeBSD is very close to Linux
<tp>
sadly it's becoming more Linux like every day
<tabemann>
even then there were many issues I saw with missing identifiers
<tp>
nasty
<tabemann>
yes, I know that linux lacks the "real Unix" factor - heh
<tabemann>
and it's been influenced people like *coughs* Lennart Poettering
<tp>
I tried to compile openocd under solaris the other day and it had heaps of M4 'not declared' errors
<tp>
I think the mas appeal of linuc has just brought a lot of people who think they can program to Linux
<tp>
and if it works it's good enough, they dont know how to do unit tests or all the really important but no fun tasks
<tabemann>
linux has the factor that it is something new and refreshing and great to people whose only experience with computing is with windows or macos
<tabemann>
and of course one is far more likely to have heard of linux than freebsd
<tp>
Linux software is pretty poor I'm my opinion, it's just too easy to cut and paste and cobble something together
<tp>
well FreeBSD is a bit better but not much
<tp>
thats why Im looking at solaris atm
<tabemann>
that's just the factor that more people program for linux - being lesser-known in itself weeds out many of those people for freebsd
<tp>
I love the way it's done, very well engineered
<tp>
good point
<tp>
sadly poeterring drove tens of thousands of Linux users to FreeBSD
<tp>
i was one of them
<tabemann>
poettering wants linux to be windows
<tp>
yes
<tp>
tho I always say "poettering wants Linux to be a car radio"
<tp>
why ? because a car radio needs to boot in under a second
<tabemann>
I've been a loyal debian user since 2002 (not my first distro, my first was linuxppc - but linuxppc wouldn't run on the PC I built for college)
<tp>
a Linux box running 24/7 doesnt care about taking a minute to boot
<tp>
my first didtro was Yggdrassil in 1994
<tp>
it was the most amazing thing Id ever seen
<tp>
Linux kernel 0.998
<tp>
x windows, reversi
<tabemann>
that's how I reacted to my first experiences with Linx too, having been a mac user before that, and an apple //e user before that
<tabemann>
*Linux
<tabemann>
who allowed poettering to get his way anyways?
<tp>
yeah, it was awesome
<tp>
I came from Windows on pc
<tp>
redhat did
<tp>
redhat pretty much call the shots thesedays, or did. Now IBM own them
<tp>
bought out for $44 BILLION !
<tp>
like WTF!!!!
<tabemann>
somehow I'd've thought redhat wasn't worth that much
<tp>
same here
<tp>
I've never forgiven IBM for not picking up SUN for a few hundred million
<tp>
instead they let oracle rape it
<tp>
apparently IBM wanted the Linux web stuff
<tabemann>
IBM has been into Linux stuff for a while
<tabemann>
they even for a good while have had Linux running on their mainframes
<tp>
sure
<tp>
redhat made a couple of BILLION a year from Linux sevices
<tp>
IBM made plenty as well
<tabemann>
one thing I've wondered about with linux on a big iron is... what is the advantage of linux on a big iron versus linux on a conventional computing cluster made from conventional hardware?
<tabemann>
I know big irons are used heavily in certain fields such as banking and stocks transactions
* tabemann
one summer was involved in the operation of one of these big irons
<tp>
probably just superior cooling, PSU, UPS, memory bus widths, opts ?
<tp>
PC's are cheap and nasty in reality
<tp>
a $5000 pc is actually a *cheap* pc
<tp>
just a decent PSU for a PC would cost $5000
<tabemann>
by that count something like 99.99% of all PCs out there count as "cheap and nasty"
<tabemann>
and even the machines used to control the MRI machines where I worked could be "cheap and nasty"
<tabemann>
as they were just slightly more pricier and better-specced versions of conventional PCs
<tabemann>
and these were high-end PC's too
<tabemann>
well, at least the machines that interacted with the user terminals
<tabemann>
there were other embedded machines that actually directly interacted with the hardware
<tabemann>
which probably were pricier just due to being specialized hardware
<tp>
they sure do
<tp>
i nearly paid $10,000 for a olivetti 186 in 1985, with a EGA display
<tp>
thats what they cost then
<tp>
PC's are the ultimate in cheap commodity hardware, thats the only way they are so cheap now (under $10,000)
<tp>
and it's amazing how reliable they are now made
<tp>
but I still have to clean the edge connectors on my ram every couple of years on this box
<tabemann>
I remember how frequently the macs I used to use crashed, compared to now how reliable things are
<tp>
because theyre the cheapest connector in existence
<tabemann>
mind you full memory protection is a big factor in all this
<tp>
yeah, I guess software has made pcs more reliable
<tabemann>
before macos 10, there was no memory protection on macs
<tp>
ahh
<tabemann>
so any process could bring down the system
<tp>
I made this PC in 2012
<tabemann>
and on pcs under win95, IIRC there was no memory protection for the first megabyte of RAM
<tp>
I bought 5 psus for $650 each and still have one brand new unboxed spare
<tp>
I scoured the net looking for internal PSU pics until I found one that looked half reasonable in design
<tp>
then I built 4 PC's
<tabemann>
\I built my most recent tower for like $650 in total
<tp>
I also bought 160 GB of ram
<tp>
and about 15TB of hdds
<tp>
I spent about $10k iirc
<tp>
the pc's are all water cooled
<tp>
and 12 years later only one mobo failed, the one I made for a daughter
<tabemann>
whereas my computer that I built most recently is the only one that hast lasted this long (since 2012, so eight years)
<tp>
luckily I bought the newest CPU so mine is still plenty fast enuf
<tabemann>
I don't really use that machine anymore because it uses more power than my laptop, despite not being as specced as it, and unlike the laptop it (obviously) is not portable
<tp>
I'm a dedicated pc user, at my age I need my 27" monitor
<tabemann>
I like my laptop because I can bring it to coffeeshops and like, which I would be doing now were it not for COVID-19
<tp>
ah yes
<tp>
makes good sense
jsoft has joined #forth
<tabemann>
back
tp has quit [Ping timeout: 260 seconds]
gravicappa has joined #forth
tp has joined #forth
tp has joined #forth
tp has quit [Changing host]
proteusguy has quit [Quit: Leaving]
proteusguy has joined #forth
remexre has quit [Quit: WeeChat 2.7.1]
dys has joined #forth
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
jedb has quit [Remote host closed the connection]
jedb has joined #forth
mtsd has joined #forth
dddddd has quit [Ping timeout: 260 seconds]
xek_ has joined #forth
xek_ has quit [Read error: Connection reset by peer]
xek has joined #forth
jedb has quit [Remote host closed the connection]
jedb has joined #forth
xek_ has joined #forth
xek has quit [Ping timeout: 246 seconds]
<tp>
crest, ping
xek_ has quit [Ping timeout: 246 seconds]
xek_ has joined #forth
<crest>
pong
<tp>
crest, you dont have a STM32 discovery or nucleo board do you ?
<tp>
crest, you only have bluepills ?
<crest>
yes
<crest>
why?
<tp>
I have sedcom running on a stm32F0 discovery and it's very nice :)
<tp>
swdcom
<tp>
the disco board has the swd interface on the board
<tp>
so swdcom makes a very easy terminal for a disco or nucleo board
xek_ has quit [Ping timeout: 258 seconds]
<tp>
Mecrisp-Stellaris RA 2.5.3 with M0 core for STM32F051 by Matthias Koch
<tp>
The swd buffer address is: 20001D58
<tp>
crest, also tabemann tried it but his Linux bombed on stm32.h which my system doesnt even have anyway
<crest>
did he have stlink 1.5 installed?
<crest>
did he try it on a debian based distro? those stupid fuckers split most packages into a few tiny headers and the rest "to safe space"
<tp>
it's debian and looks broken
<tp>
hahah a 'safe space' LOL
<tp>
i dont know what stlink he has
<crest>
its about a stupid has handing kids dull knives for carving because the sharp ones are too dangerous
<tp>
yeah
<crest>
*it's
<tp>
yet it's the 'dull knife' that actually cuts ;-)
<crest>
exactly because you have to use force
<tp>
yes
<tp>
ah well use debian and pay the price
<crest>
tp: the realtime clock code? that works on linux as well
<tp>
crest, I've just written a word that takes the output from swd and binks the green led the digit number of times
<crest>
or did you mean the stm32f103 clock setup
<tp>
crest, tabemann couldnt compile the C code
<tp>
it complained about not finding stm32.h
<tp>
crest, we ignore the mcu clock stuff
<tp>
crest, damn swdcom is fast, at 72MHz on my F0 I think it's faster than my 460800 baud serial
<tp>
hard to say, definitely not slow
<crest>
i did spend some time thinking about how to minimize latency and maximize throughput
<crest>
under the assumption that stlink v2 commands have an annoying latency
<crest>
and larger transfers are faster (per byte) than more smaller transfers
<tp>
crest, so my idea is to use the discovery board user push button to read the swd buffer address via the green user led, therby negating the need for a serial terminal
<crest>
you could also put the buffer definition in the assembler code
<tp>
crest, Ive also built a bootable binary with your swdcom included
<crest>
and extract the address from the symbol file
<tp>
actually .. you could put the buffer address in a USB parameter
<tp>
um no, forget that
<crest>
or maybe there is some "spare" configuration register in the debug unit?
<tp>
there is no usb driver on the disco boards
<tp>
that's mcu dependent
<crest>
some well known place in memory to put the pointer
<crest>
hmm
<tp>
blinking the led like a automotive fault code is easy enuf
<tp>
i can read it no problems
<crest>
i could fill the ring buffers with pseudorandom data
<crest>
dump the sram and at connection time
<crest>
and search for the pattern
<tp>
crest, I think you have winner if you can also make a uploader and any other bells would be a bonus
<crest>
how likely is it that some other 512 byte buffer satisfies the function?
<tp>
i dont understand your statement
<crest>
the startup code could fill the rx and tx ringbuffer with some pattern start with 0x12345678 and each word is the crc32 of its predecessor
<crest>
than i could just scan the sram until i find 0x12345678 followed by $n times the crc32 of itself
<tp>
ahh
<crest>
i could even keep a cache of the last buffer address per stlink serial number
<crest>
and start the search at that address the next time
jedb has quit [Ping timeout: 260 seconds]
deesix_ has joined #forth
deesix has quit [Ping timeout: 272 seconds]
deesix has joined #forth
deesix_ has quit [Ping timeout: 256 seconds]
deesix has quit [Ping timeout: 246 seconds]
jsoft has quit [Ping timeout: 272 seconds]
deesix has joined #forth
deesix_ has joined #forth
deesix has quit [Ping timeout: 258 seconds]
deesix_ has quit [Ping timeout: 260 seconds]
deesix has joined #forth
iyzsong has joined #forth
kori has joined #forth
kori has joined #forth
TCZ has joined #forth
jedb has joined #forth
a3f has quit [Ping timeout: 260 seconds]
a3f has joined #forth
dddddd has joined #forth
mtsd has quit [Quit: Leaving]
Blue_flame has joined #forth
Blue_flame is now known as Guest68669
TCZ has quit [Quit: Leaving]
a3f has quit [Ping timeout: 256 seconds]
a3f has joined #forth
cantstanya has quit [Remote host closed the connection]