Has anyone compiled a straight assembly file for the PRU? I know you can 
program in C but I can't accurately predict how long each C command takes 
to run and I have a time critical portion of my code.

I have been attempting to use the clpru compiler but I keep getting linking 
errors as it is looking for a main function call and not finding one, since 
it's just an assembly file. Is it possible to compile assembly with clpru 
and link to all of the proper files to ensure it compiles and runs 
correctly on the PRUs? I know I ran into that issue in the past when tried 
to use pasm and didn't add any linked files.

On Monday, November 21, 2016 at 12:03:54 PM UTC-5, William Hermans wrote:
>
> There are a few things to note on this subject.
>
> #1
>
> https://github.com/cdsteinkuehler/beaglebone-universal-io/blob/master/config-pin#L522-L527
>
> Of these 3 capes shown, only cape-universala will work unmodified. This 
> is because this pin in the other two cape overlay's is commented out.
>
> #2
> Going by the ball info /* P9_31 (ZCZ ball A13) Audio */, this must be an 
> HDMI audio pin too ? So you'll probably want to edit /boot/uEnv.txt to load 
> this board file.
>
> ##BeagleBone Black: HDMI (Audio/Video) disabled:
> dtb=am335x-boneblack-emmc-overlay.dtb
>
> Initially the line dtb=am335x-boneblack-emmc-overlay.dtb will be 
> commented out. Then once you make sure you have that uncommitted, make sure 
> no other board file is left uncommitted after this line. Otherwise it may 
> load at boot instead.
>
> Once that is done, you should be able to configure the pin via config-pin 
> to mux the pin for mode 5, or 6 depending on whether you want GPI, or GPO 
> through the PRU.
>
>
> On Mon, Nov 21, 2016 at 8:52 AM, Zach B <zbro...@gmail.com <javascript:>> 
> wrote:
>
>> Sorry for the deleted post I forgot a piece of information...
>>
>> So I'm not exactly sure what modifications I made that fixed my problem 
>> because I made a few and somewhere it resolved my issue. I ended up 
>> modifying the files listed below. I don't think I had to modify all of them 
>> but I figured I would enable the pru_rproc for all variations of device 
>> trees that load for future use (whether this is good or bad idk).
>> Uncomment '#include "am33xx-pruss-rproc.dtsi"' in the following files as 
>> desired
>>
>> /opt/source/dtb-4.4-ti/src/arm/am335x-boneblack-overlay.dts
>> /opt/source/dtb-4.4-ti/src/arm/am335x-boneblack-audio.dts
>> /opt/source/dtb-4.4-ti/src/arm/am335x-boneblack-hdmi-overlay.dts
>> /opt/source/dtb-4.4-ti/src/arm/am335x-boneblack-emmc-overlay.dts
>>
>> be sure to run "make" followed by "make install" after making the above 
>> modifications.
>>
>> I then modified my uEnv.txt file as follows:
>> Change
>> ##BeagleBone Black: HDMI (Audio/Video)/eMMC disabled:
>> #dtb=am335x-boneblack-overlay.dtb
>> to
>> ##BeagleBone Black: HDMI (Audio/Video)/eMMC disabled:
>> dtb=am335x-boneblack-overlay.dtb
>> this should enable the device tree file "cape-universala-00A0.dts" on 
>> boot. The "cape-universala-00A0.dts" has all of the pins pinmuxed and 
>> configured for all modes, so it should blow everything wide open for use 
>> with config-pin. it worked for all of the pins I wanted to configure. The 
>> universal capes can be found (at least for me) at
>> /opt/source/beaglebone-universal-io/
>>
>> or you can check them out on this github link:
>> https://github.com/cdsteinkuehler/beaglebone-universal-io 
>>
>> Doing those 2 things seems to have allowed me to configure any pin I want 
>> and starts the pru_rproc on boot ensuring all of the required devices are 
>> there to start and stop the PRUs. I ended up not having to mess around with 
>> any custom device trees. Hopefully that information helps someone else 
>> struggling with the same thing I was.
>>
>> On Sunday, November 20, 2016 at 7:25:06 PM UTC-5, William Hermans wrote:
>>>
>>> On Sun, Nov 20, 2016 at 4:31 PM, Zach B <zbro...@gmail.com> wrote:
>>>
>>>> Thanks for the information Greg.
>>>>
>>>> Robert & everyone,
>>>> I was digging into that link you sent about which universal overlay 
>>>> gets loaded at boot. I have tried modifying my uEnv.txt file to enable 
>>>> different overlays but i cant' seem to get config-pin to work for P9_31 
>>>> and 
>>>> P9_29. It responds that config-pin isn't set up for those pins but when I 
>>>> run
>>>> config-pin overlay cape-univversala
>>>>
>>>> it seems to load just fine but when I call either:
>>>> config-pin-q P9_31
>>>> config-pin P9_31 pruout
>>>>
>>>> it says that it is unable to access the "state" of that pin or set the 
>>>> "pinmux". What's the right way to enable config-pin on all of the pins so 
>>>> that I can set the PRU pins I need to "pruout"?
>>>>
>>>> Zach
>>>>
>>>
>>> Most likely this is because the universal IO overlay you're loading does 
>>> not have those pins muxed. I have run into this myself when working with a 
>>> custom cape( physical hardware ). So, I have to create a custom overlay 
>>> based on more than one universal IO overlay. Then once I gleaned how the 
>>> structure for each pin had to be in the overlay, I modified the overlay 
>>> further to only define the exact mux for each pin. That is, removing all 
>>> the extra mux modes I did not need.
>>>
>>> So, in short, you're going to have to create your own overlay file based 
>>> on multiple universal IO overlays, if you want to use config-pin to mux the 
>>> pins. If you just want to use config-pin to load an overlay, then your 
>>> overlay does not *have* to be based on a universal IO overlay. 
>>>
>>> -- 
>> For more options, visit http://beagleboard.org/discuss
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "BeagleBoard" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to beagleboard...@googlegroups.com <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/beagleboard/41cefc20-ff0c-49ba-a780-8d25bf4216da%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/beagleboard/41cefc20-ff0c-49ba-a780-8d25bf4216da%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/95faaa82-49dc-41c4-b54c-62b8b1c506af%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to