hermanhermitage / videocoreiv

Tools and information for the Broadcom VideoCore IV (RaspberryPi)
824 stars 106 forks source link

Building kernels to run under linux #3

Open mrares opened 11 years ago

mrares commented 11 years ago

Could you provide a bit more information into how to experiment with running kernels from within linux?

Eg: How can one start with source code (videocore tinyasm) and end up with a proper kernel to run with the mailbox tool?

hermanhermitage commented 11 years ago

Yes good idea. Do you have any preference or requests for particular kernels?

I was thinking of some tutorials on:

I believe there is a vlookup R(y,x) instruction that we haven't figured out yet, so the only thing we have to avoid for now are kernels requiring parallel lookup.

mrares commented 11 years ago

I'm sure these would be a very good start, once a path to build kernels is established I assume one can use the Programmers Manual to build more and more elaborate ones.

I was thinking of something in the direction of general purpose vector math and SIMD (read fast math for codecs and/or cryptography)

mrares commented 11 years ago

I was going through the demo and disassembled the alpha.bin file, then trying to replicate it on top of the blinker example using tinyasm.

In the disassembler you decode instructions like "vld H" and "vmulhd H" which have no apparent corespondent in tinyasm/videocireiv.h (I used vector80_x_y_z to get the same vld H call) so it looks like replicating the alpha.bin requires a bit of hoop jumping.

Am I at least on the right path?

hermanhermitage commented 11 years ago

Yes, I have another header file I need to push for encoding vector instructions - my apologies that it's not there yet - but it's not final and was set up to test bit combinations rather thn ease of use. I will upload what I have in the next day or so but it will change a lot over the coming days.

Neo-Desktop commented 8 years ago

@hermanhermitage I'd love to see an example of some 2d graphics acceleration. I'm working on a bare metal rpi project and have hit a FPS wall with software rendering