kernel updates thread

4.1.12-ti-r26
We've re-enabled the shutdown button, works best with "systemd"...

John Syne got the remoteproc_pruss working

Grab the firmware:

cd /opt/scripts/tools/
git pull
sudo cp /opt/scripts/device/bone/pru-rpmsg_client_sample/am335x* /lib/firmware/
sudo reboot

sudo modprobe rpmsg_client_sample

kernel updater:

cd /opt/scripts/tools/
git pull
sudo ./update_kernel.sh <OPTIONS>

"--bone-kernel --testing" is now "4.3.0-bone1" vs "4.2.5-bone2"

Consider v4.2.x now retired, yet still buildable via:

https://github.com/RobertCNelson/bb-kernel/tree/am33x-v4.2

Regards,

John Syne got the remoteproc_pruss working

Grab the firmware:

cd /opt/scripts/tools/
git pull
sudo cp /opt/scripts/device/bone/pru-rpmsg_client_sample/am335x* /lib/firmware/
sudo reboot

sudo modprobe rpmsg_client_sample

So Robert, or John,

What remoteproc’s capability in our kernel right now ? Is this a simple example of what’s to come, or is this fully functional now ? Also, is there good documentation out there other than the txt file / source code ? I know that Jason Reeder ? from TI has been doing a lot of work on code, and documentation here and there. But is there a comprehensive guide, or documentation that covers the whole API, etc ?

The best way to learn this is to follow the LAB

http://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs

Specifically, Lab4 onwards. Other than that, the examples are well documented.

Regards,
John

John,

Not an argument so much as a concern . . . those hands-on labs are specific to CCS, with no clear way of proceeding otherwise. e.g. I’d much prefer a GNU approach. But I’ll gloss over those labs yet again . . . and read what other information is out there to see if this can be done with a gcc toolchain.

CCS is a fine IDE, and set of tools, but not everyone has the need, or even want / capability to use such a tool.

The ti-pru compiler is available by default in the beagleboard.org
images.. So ccs project's just be transferable/buildable on the
beagle..

btw, the pru gnu examples are here, and i've gotten a patch from it's
author, so they should also be working in v4.1.x :wink:

https://github.com/dinuxbg/pru-gcc-examples

Regards,

Yeah, I hear you. This is part of what I described earlier regarding GEL files which are necessary to configure the SOC so that the PRU’s can function. I guess it is possible to do what you need, but then you have to create a small bare bones file to run on the CortexA8 to replicate what the GEL file does. Seems like a lot of work so I just use CCSV6 and a JTAG emulator. Speak to TI and see if they have a solution for you.

You may want to look at the demo example on ti-processor-sdk-linux-am335x-evm-01.00.00.03 with the PRU patch applied. The work with the PRU cape. That may be a good starting point to do what you need.

Regards,
John

The ti-pru compiler is available by default in the beagleboard.org
images… So ccs project’s just be transferable/buildable on the
beagle…

Yeah, I prefer to use the ti-cgt A8 install script, as it gives me the option of where to install the whole thing. e.g.

$ ./ti_cgt_pru_2.1.1_armlinuxa8hf_busybox_installer.sh --prefix ~/ti --temp ~/remote

I’ve installed, and have toyed with the x86 Linux version, but found it difficult ( but not impossible ) to deal with. Probably my biggest hurdle right now is absorbing all this information at once.

btw, the pru gnu examples are here, and i’ve gotten a patch from it’s
author, so they should also be working in v4.1.x :wink:

https://github.com/dinuxbg/pru-gcc-examples

Oh, nice, I do not think I’ve seen that repo yet. Hard to imagine since I’ve searched, and searched . . . thanks :slight_smile:

Yeah, I hear you. This is part of what I described earlier regarding GEL files which are necessary to configure the SOC so that the PRU’s can function. I guess it is possible to do what you need, but then you have to create a small bare bones file to run on the CortexA8 to replicate what the GEL file does. Seems like a lot of work so I just use CCSV6 and a JTAG emulator. Speak to TI and see if they have a solution for you.

*You may want to look at the demo example on ti-processor-sdk-linux-am335x-*evm-01.00.00.03 with the PRU patch applied. The work with the PRU cape. That may be a good starting point to do what you need.

I’m not even sure what a GEL file is, or does. But this has to be possible without using CCS, as remoteproc + rpmsg is a Linux specific thing. So perhaps, maybe I need to get my hands on a GEL file, and figure out how to “disassemble” what is being done. This, I can do, but it might take me time.

GEL file is a simple script file CCSV6 uses to setup the SOC features like L3/L4 bus, DDR setup, Clock config, etc. The file is easy to read so you should be able to pull out the info you need.

Regards,
John

http://www.ti.com/lit/an/spraa74a/spraa74a.pdf

Regards,
John

Ok, thanks John. I’ll start another thread( if needed ) to keep from stepping all over this post. Which seems to be something I’m very good at lately.

Thanks again John - That is helpful. Actually, probably what I’ll do is create a WIP project on 43oh.com forums(Beagle section ), as they seem to like it when I do that, and it gives me a place I can easily look up previous things I’ve covered . . .

There is not. But we do have a fan for it but not yet ready for sale. As long as it does not go past 85 degrees C it will be fine. TI feels a fan is not required.

Gerald

How can I compile that from source?

I’ve been using your wonderful bb-kernel repo but didn’t see any branches or tags a with ‘ti’ in the name.

Thanks
Drew

It's located here:

https://github.com/RobertCNelson/ti-linux-kernel-dev

BUT... it's between two moving targets, "v4.1.x lts" and ti's v4.1.x
branch, so you can branch to that commit, but it's probally already
broken..

Best to just stick on the top of the v4.1.x branch, or build using the
github.com/beagleboard/linux src

Regards,

One more URL with examples: https://github.com/dinuxbg/pru-software-support-package . This is a fork of the TI PRU Traning that is ported to GCC. So far lab5 is finished and was tested successfully on RCN’s 2015-11-15 image (kernel 4.1.13-ti-r30).

понеделник, 2 ноември 2015 г., 23:35:42 UTC+2, RobertCNelson написа: