**** BEGIN LOGGING AT Fri May 29 02:59:57 2020 May 29 08:18:19 khem: thanks! I wanted to avoid modifying src_uri, but I also don't see another option (protocol=http is already enabled) May 29 13:26:00 Jin^eLD: There are examples of baremetal toolchains out there... I don't recall where ATM May 29 13:28:33 JPEW: I only found the RTOS layer example with a toolchain for qemuarm, but I had a hard time to come with the right machine.conf values for a new architecture May 29 13:29:41 in the end I got to a point which allowed me to compile gcc-cross-avr but the resulting toolchain was unusable, I guess I messed up the settings after all May 29 13:37:44 I guess my problem is anyway not multiconfig as such, but rather my lack of hardware knowledge and knowing what options to use for building the cross compielr May 29 15:04:50 Jin^eLD: I know there are examples out there of baremetal machine confs :) May 29 15:05:27 well, if you run across a non-arm one, please let me know ;) May 29 15:06:16 RP: ^^ May 29 15:06:52 RP: I though I recalled you saying you had done an AVR machine conf at one point May 29 15:07:19 I saw an avr32 in siteinfo.bbclass May 29 15:07:41 but I am not sure if thats compatible to those 8 and 16 bit avr mcus? May 29 15:10:20 and then I was also not sure about SITEINFO_BITS May 29 16:39:04 JPEW: I have, yes May 29 16:39:41 * RP needs to clean that up so its sharable May 29 16:40:20 RP: which avr did you add? May 29 16:41:44 Jin^eLD: I was using an 8 bit one with custom code, ATmega8535 I think May 29 16:42:28 I think that comes very close to what I am interested in, I am trying to bundle the mcu part of the klipper 3d printing firmware in a linux image May 29 16:43:34 so I need to compile it for a bunch of mcus, like atmega1284p, atmega2560, 328.. long lit May 29 16:43:36 *list May 29 16:44:01 but I think all of those can be handled by the same compiler configuration May 29 16:44:31 and then another bunch would be for cortex m0/m3/m4 May 29 16:45:05 if you have anything to show (does not even need to be fully working) - I think this would already help a lot May 29 16:45:26 Jin^eLD: I have a couple of systems with ARM/Linux with an MCU alongside so I had recipes for a build system cross compiler and an on target one May 29 16:45:38 so you could ssh into the arm system and recompile the AVR code May 29 16:46:00 that's what I wanted to avoid... my goal was to prebuild everything and just ship the binaries May 29 16:46:14 Jin^eLD: right, this was just for hacking during development May 29 16:46:32 I made it do build time too May 29 16:46:38 currently klipper guys suggest to install some debian spin and then manually add klipper, build the mcu fw on the target (their setup is aimed at a raspi) and stuff like that May 29 16:46:56 and I was not too happy with that and also not with the raspi focus, so started to hack a minimalistic distro that would work out of the box and have everything preinstall May 29 16:47:09 nowhere nearly finished https://github.com/jin-eld/klipper-linux May 29 16:47:29 and currently I am a bit stuck with the mcu part May 29 16:47:36 Jin^eLD: let me see if I can quickly put the code somewhere May 29 16:47:43 cool, thank you May 29 16:55:04 Jin^eLD: http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/t222&id=d344684a3fc161a77f10edf2cc636f54d52a5d20 - its pyro based so old but you can see the idea May 29 16:57:06 where exactly is the avr machine conf, not seeing it so far May 29 16:57:54 ? May 29 16:58:00 Jin^eLD: oh, I did something a little different, I just hacked it alongside my normal machine May 29 16:58:22 ah, you did not use multiconfig? May 29 16:58:26 Jin^eLD: so I had two different toolchains and some special recipes which didn't build for MACHINE but for my avr part May 29 16:58:36 Jin^eLD: multiconfig did not exist when I wrote this! May 29 16:58:57 oh right, its pyro.. May 29 16:59:19 There is nothing which says you can't have two toolchains in a given build or that they have to target the same thing ;-) May 29 16:59:33 hmm damn! :) then its not quite what I am looking for; I already did some hacks with pulling in m4 baremetal toolchains and hacking variables to compile for the mcu within the linux build May 29 16:59:44 and I think ther eis a meta-microcontroller layer specifically for AVR to do that May 29 17:00:02 Well, those recipes could be used standalone too May 29 17:00:22 my main issue is coming up with a meaningful machine conf for the mcu May 29 17:00:25 i.e. if they work in this config, as standalone machine config should be possible May 29 17:00:50 I'm not sure it matters too much to start with, just copy an ARM one May 29 17:01:00 in theory if the machine.conf is fine, the default gcc-cross recipe would spit me out the right toolchain, rihgt? May 29 17:01:01 You'll figure out the pieces over time May 29 17:01:23 No, AVR is interesting enough that you'll need the config in those recipes I shared May 29 17:01:42 Whichever way you do it you need that config, that is the magic which gives you an AVR compiler May 29 17:01:55 aah, that's the trick May 29 17:02:24 remember its not a glibc target for example May 29 17:02:28 I got to the stage where gcc-cross-avr would build "something" but I was missing what you mentioned just now, so the resulting toolchain did not work May 29 17:02:41 yes, right, but there is the baremetal TCLIBC option now May 29 17:02:42 which I used May 29 17:02:54 you probably want the avr-libc I have there May 29 17:03:00 so I optimistically assumed it would do the trick :) May 29 17:03:03 yes, true May 29 17:03:27 that I found out yesterday night, but I think I need the cross compiler first? or does it already need avr-libc to compile? May 29 17:03:40 I'll go through your recipes after work, thanks for sharing! May 29 17:03:44 don't remember. See what I put in the recipes? :) May 29 17:04:02 right:) May 29 17:04:19 I know that compiler works. Sadly I didn't have the time to make this into something nicer on a more modern version :( May 29 17:04:28 this is another "parallel toolchain" approach: https://github.com/schnitzeltony/meta-microcontroller May 29 17:05:08 well, Alejandro published some stuff on how to get this all set up with multiconfig May 29 17:05:32 right, that looks like similar ideas with the recipes May 29 17:05:33 so I think that would be the "modern" way, but the exampls are for microblaze or qemuarmv5 May 29 17:06:00 and I was failiing to get multiconfig going due to difficulties coming up with a meaningful machine.conf May 29 17:06:12 it was complaining about tunes and features and what not, basically the sanity checker did not like me :) May 29 17:06:29 right, at that point its a full new arch and it will get a bit grumpy May 29 17:07:01 yes, that's what I saw then, I ended up in siteinfo.bbclass and was then wondering if adding SITEINFO_BITS=8 was a good idea :) May 29 17:07:26 I'd just use a dummy arm machine to start with ;-) May 29 17:07:43 and then I was also not quite sure how to deal with the "variants" i.e. atmega1280, atmega2560 and so on, all of them are technically compilable with an "avr2" gcc May 29 17:07:59 that is where the tune file would come in May 29 17:08:08 ah, makes sense May 29 17:08:15 if dome properly anyway May 29 17:08:44 dummy arm.. so for starters I should not bother with SITEINFO_BITS but make sure I have the endiannes right and then work out the magic from your gcc recipes? May 29 17:11:39 generally it'd be awesome if we had mcu layers for most common stuff, like the m4 (a lot of boards with two processors are out there) and multiconfig sounds like a clean way to do it May 29 17:11:57 especially since you can then pull in the package from the mcu build into your "main/parent" image May 29 17:12:38 basically thats what Alejandro was showing with the Xilinx board and FreeRTOS setup May 29 17:14:18 let's see how far I get with the avr and anything worth submitting will come out of it :> May 29 17:22:02 Jin^eLD: I'd love to do it, just never had the time or the people asking for it May 29 17:23:49 I struggle a bit because I am actually a userspace guy, so arch and hardware specific details is something where lack a lot of knowledge, but if you'd have time for a few hints from time to time and maybe a review - that'd be great; I'll simply go on hacking the avr multiconfig thing in that github klipper repo May 29 17:24:22 and if you steer me into a direction where it would look generic enough (and an avr machine conf should be generic enough), I could then submit something vs oe/yocto **** ENDING LOGGING AT Sat May 30 02:59:59 2020