[RFC] XMEGA PDI programming with a AM335x processor

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[RFC] XMEGA PDI programming with a AM335x processor

Enric Balletbo i Serra
Dear all,

This is a request for comments.

I've been working on add XMEGA PDI programming support using the Programmable Realtime Unit (PRUSS) available on AM335x based boards like Beaglebone Black. With this you can program an XMEGA in-circuit without requiring any external hardware. The programmer needs a custom firmware that needs to be loaded to the PRU [1], avrdude loads the firmware and communicates with it to be able to program the firmware on XMEGA, the code is available here [2] and the specific commit that adds support for it is here [3]. It works doing

 avrdude -p atxmega16d4 -c pruss -e -U flash:w:my-firmware.hex

But there is still an issue that I need to solve, though I have a workaround to make it work. I'm pretty sure that the problem is in the PRU firmware side so not a problem with avrdude. Nevermind if you want to help test, review or give me your comments all are welcome. Do not hesitate to contact me if you are interested on this, either by email or in the irc (nickname eballetbo). I hope have a stable version soon but meanwhile, I repeat, if anyone would like to test all feedback is welcome.

Best regards,

 Enric


[1] https://github.com/eballetbo/pdi-pruss
[2] https://github.com/eballetbo/avrdude
[3] https://github.com/eballetbo/avrdude/commit/ba3cb893cf3931033faeb4ebe0c296842f168cc7



_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: [RFC] XMEGA PDI programming with a AM335x processor

Enric Balletbo i Serra
Hi again,

Just a quick note that finally I found the problem, as I supposed the problem was in the PRU firmware, to be more exact, the problem was due I was using an old PRU compiler. I just updated my repository with latest changes for if someone finds it useful and wants to test.

Thanks,
  Enric


On 29/01/17 12:53, Enric Balletbo i Serra wrote:

> Dear all,
>
> This is a request for comments.
>
> I've been working on add XMEGA PDI programming support using the Programmable Realtime Unit (PRUSS) available on AM335x based boards like Beaglebone Black. With this you can program an XMEGA in-circuit without requiring any external hardware. The programmer needs a custom firmware that needs to be loaded to the PRU [1], avrdude loads the firmware and communicates with it to be able to program the firmware on XMEGA, the code is available here [2] and the specific commit that adds support for it is here [3]. It works doing
>
>  avrdude -p atxmega16d4 -c pruss -e -U flash:w:my-firmware.hex
>
> But there is still an issue that I need to solve, though I have a workaround to make it work. I'm pretty sure that the problem is in the PRU firmware side so not a problem with avrdude. Nevermind if you want to help test, review or give me your comments all are welcome. Do not hesitate to contact me if you are interested on this, either by email or in the irc (nickname eballetbo). I hope have a stable version soon but meanwhile, I repeat, if anyone would like to test all feedback is welcome.
>
> Best regards,
>
>  Enric
>
>
> [1] https://github.com/eballetbo/pdi-pruss
> [2] https://github.com/eballetbo/avrdude
> [3] https://github.com/eballetbo/avrdude/commit/ba3cb893cf3931033faeb4ebe0c296842f168cc7
>
>
>
> _______________________________________________
> avrdude-dev mailing list
> [hidden email]
> https://lists.nongnu.org/mailman/listinfo/avrdude-dev
>

_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: [RFC] XMEGA PDI programming with a AM335x processor

Andy Simpkins
Hi all.

I am using Enric's XMEGA PDI programming support using the Programmable
Real-time Unit (PRUSS) available on AM335x based boards on our hardware
platform at work, and on BBB at home, and think this would benefit other
users as well.
What do we need to do to include this functionality within the awesome
AVRDude?

Best regards

/Andy

Disclaimer: The company I work for was responsible for asking Enric to
carry out this work.  We find this an invaluable extension to AVR dude
(our platform has several AVRs performing real time / MCU accelerated
tasks outside the control of our host system) initially program all
firmware form the host OS (in this case a Debian based Linux distro) on
the platform without needing external programmers saves a lot of time
and effort during production AND more importantly we can also update
units in the field.  We produce communication and accessibility aids for
people with disabilities.  This platform is a speech synthesiser for
people with no voice.

On 12/02/2017 22:01, Enric Balletbo i Serra wrote:

> Hi again,
>
> Just a quick note that finally I found the problem, as I supposed the problem was in the PRU firmware, to be more exact, the problem was due I was using an old PRU compiler. I just updated my repository with latest changes for if someone finds it useful and wants to test.
>
> Thanks,
>    Enric
>
>
> On 29/01/17 12:53, Enric Balletbo i Serra wrote:
>> Dear all,
>>
>> This is a request for comments.
>>
>> I've been working on add XMEGA PDI programming support using the Programmable Realtime Unit (PRUSS) available on AM335x based boards like Beaglebone Black. With this you can program an XMEGA in-circuit without requiring any external hardware. The programmer needs a custom firmware that needs to be loaded to the PRU [1], avrdude loads the firmware and communicates with it to be able to program the firmware on XMEGA, the code is available here [2] and the specific commit that adds support for it is here [3]. It works doing
>>
>>   avrdude -p atxmega16d4 -c pruss -e -U flash:w:my-firmware.hex
>>
>> But there is still an issue that I need to solve, though I have a workaround to make it work. I'm pretty sure that the problem is in the PRU firmware side so not a problem with avrdude. Nevermind if you want to help test, review or give me your comments all are welcome. Do not hesitate to contact me if you are interested on this, either by email or in the irc (nickname eballetbo). I hope have a stable version soon but meanwhile, I repeat, if anyone would like to test all feedback is welcome.
>>
>> Best regards,
>>
>>   Enric
>>
>>
>> [1] https://github.com/eballetbo/pdi-pruss
>> [2] https://github.com/eballetbo/avrdude
>> [3] https://github.com/eballetbo/avrdude/commit/ba3cb893cf3931033faeb4ebe0c296842f168cc7
>>
>>
>>
>> _______________________________________________
>> avrdude-dev mailing list
>> [hidden email]
>> https://lists.nongnu.org/mailman/listinfo/avrdude-dev
>>
> _______________________________________________
> avrdude-dev mailing list
> [hidden email]
> https://lists.nongnu.org/mailman/listinfo/avrdude-dev
>


_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: [RFC] XMEGA PDI programming with a AM335x processor

Andy Simpkins-2
Hi Again,

So I have had no comments / responce to this thread.  Can I safely
assume that nobody has any views either way?  In wich case I shall ask
Enric to prepare and submit a patch to the package.

In summary this will allow systems based around Ti's AM335x series of
SoC (such as the BeagleBone Black series) to program PDI in much the
same way as you can already use GPI bit bash for SPI based In System
Programming.

Best Regards

/Andy


On 08/03/2017 09:43, Andy Simpkins wrote:

> Hi all.
>
> I am using Enric's XMEGA PDI programming support using the
> Programmable Real-time Unit (PRUSS) available on AM335x based boards
> on our hardware platform at work, and on BBB at home, and think this
> would benefit other users as well.
> What do we need to do to include this functionality within the awesome
> AVRDude?
>
> Best regards
>
> /Andy
>
> Disclaimer: The company I work for was responsible for asking Enric to
> carry out this work.  We find this an invaluable extension to AVR dude
> (our platform has several AVRs performing real time / MCU accelerated
> tasks outside the control of our host system) initially program all
> firmware form the host OS (in this case a Debian based Linux distro)
> on the platform without needing external programmers saves a lot of
> time and effort during production AND more importantly we can also
> update units in the field.  We produce communication and accessibility
> aids for people with disabilities.  This platform is a speech
> synthesiser for people with no voice.
>
> On 12/02/2017 22:01, Enric Balletbo i Serra wrote:
>> Hi again,
>>
>> Just a quick note that finally I found the problem, as I supposed the
>> problem was in the PRU firmware, to be more exact, the problem was
>> due I was using an old PRU compiler. I just updated my repository
>> with latest changes for if someone finds it useful and wants to test.
>>
>> Thanks,
>>    Enric
>>
>>
>> On 29/01/17 12:53, Enric Balletbo i Serra wrote:
>>> Dear all,
>>>
>>> This is a request for comments.
>>>
>>> I've been working on add XMEGA PDI programming support using the
>>> Programmable Realtime Unit (PRUSS) available on AM335x based boards
>>> like Beaglebone Black. With this you can program an XMEGA in-circuit
>>> without requiring any external hardware. The programmer needs a
>>> custom firmware that needs to be loaded to the PRU [1], avrdude
>>> loads the firmware and communicates with it to be able to program
>>> the firmware on XMEGA, the code is available here [2] and the
>>> specific commit that adds support for it is here [3]. It works doing
>>>
>>>   avrdude -p atxmega16d4 -c pruss -e -U flash:w:my-firmware.hex
>>>
>>> But there is still an issue that I need to solve, though I have a
>>> workaround to make it work. I'm pretty sure that the problem is in
>>> the PRU firmware side so not a problem with avrdude. Nevermind if
>>> you want to help test, review or give me your comments all are
>>> welcome. Do not hesitate to contact me if you are interested on
>>> this, either by email or in the irc (nickname eballetbo). I hope
>>> have a stable version soon but meanwhile, I repeat, if anyone would
>>> like to test all feedback is welcome.
>>>
>>> Best regards,
>>>
>>>   Enric
>>>
>>>
>>> [1] https://github.com/eballetbo/pdi-pruss
>>> [2] https://github.com/eballetbo/avrdude
>>> [3]
>>> https://github.com/eballetbo/avrdude/commit/ba3cb893cf3931033faeb4ebe0c296842f168cc7
>>>
>>>
>>>
>>> _______________________________________________
>>> avrdude-dev mailing list
>>> [hidden email]
>>> https://lists.nongnu.org/mailman/listinfo/avrdude-dev
>>>
>> _______________________________________________
>> avrdude-dev mailing list
>> [hidden email]
>> https://lists.nongnu.org/mailman/listinfo/avrdude-dev
>>
>


_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: [RFC] XMEGA PDI programming with a AM335x processor

Enric Balletbo Serra
Hi,

Andy, at this point, I also tested the programming several times, I think
is a good idea if I prepare the patches, rebase on top of mainline and send
to the list, so people can give us feedback. The patch will include the
firmware of the PRU, I'm not sure if the firmware should be included under
the avrdude package or distributed apart from it. Well let me prepare a
first patchset and let's see what people says.

Cheers,
 Enric

El dia 27/03/2017 19:36, "Andy Simpkins" <[hidden email]> va
escriure:

Hi Again,

So I have had no comments / responce to this thread.  Can I safely assume
that nobody has any views either way?  In wich case I shall ask Enric to
prepare and submit a patch to the package.

In summary this will allow systems based around Ti's AM335x series of SoC
(such as the BeagleBone Black series) to program PDI in much the same way
as you can already use GPI bit bash for SPI based In System Programming.

Best Regards

/Andy



On 08/03/2017 09:43, Andy Simpkins wrote:

> Hi all.
>
> I am using Enric's XMEGA PDI programming support using the Programmable
> Real-time Unit (PRUSS) available on AM335x based boards on our hardware
> platform at work, and on BBB at home, and think this would benefit other
> users as well.
> What do we need to do to include this functionality within the awesome
> AVRDude?
>
> Best regards
>
> /Andy
>
> Disclaimer: The company I work for was responsible for asking Enric to
> carry out this work.  We find this an invaluable extension to AVR dude (our
> platform has several AVRs performing real time / MCU accelerated tasks
> outside the control of our host system) initially program all firmware form
> the host OS (in this case a Debian based Linux distro) on the platform
> without needing external programmers saves a lot of time and effort during
> production AND more importantly we can also update units in the field.  We
> produce communication and accessibility aids for people with disabilities.
> This platform is a speech synthesiser for people with no voice.
>
> On 12/02/2017 22:01, Enric Balletbo i Serra wrote:
>
>> Hi again,
>>
>> Just a quick note that finally I found the problem, as I supposed the
>> problem was in the PRU firmware, to be more exact, the problem was due I
>> was using an old PRU compiler. I just updated my repository with latest
>> changes for if someone finds it useful and wants to test.
>>
>> Thanks,
>>    Enric
>>
>>
>> On 29/01/17 12:53, Enric Balletbo i Serra wrote:
>>
>>> Dear all,
>>>
>>> This is a request for comments.
>>>
>>> I've been working on add XMEGA PDI programming support using the
>>> Programmable Realtime Unit (PRUSS) available on AM335x based boards like
>>> Beaglebone Black. With this you can program an XMEGA in-circuit without
>>> requiring any external hardware. The programmer needs a custom firmware
>>> that needs to be loaded to the PRU [1], avrdude loads the firmware and
>>> communicates with it to be able to program the firmware on XMEGA, the code
>>> is available here [2] and the specific commit that adds support for it is
>>> here [3]. It works doing
>>>
>>>   avrdude -p atxmega16d4 -c pruss -e -U flash:w:my-firmware.hex
>>>
>>> But there is still an issue that I need to solve, though I have a
>>> workaround to make it work. I'm pretty sure that the problem is in the PRU
>>> firmware side so not a problem with avrdude. Nevermind if you want to help
>>> test, review or give me your comments all are welcome. Do not hesitate to
>>> contact me if you are interested on this, either by email or in the irc
>>> (nickname eballetbo). I hope have a stable version soon but meanwhile, I
>>> repeat, if anyone would like to test all feedback is welcome.
>>>
>>> Best regards,
>>>
>>>   Enric
>>>
>>>
>>> [1] https://github.com/eballetbo/pdi-pruss
>>> [2] https://github.com/eballetbo/avrdude
>>> [3] https://github.com/eballetbo/avrdude/commit/ba3cb893cf393103
>>> 3faeb4ebe0c296842f168cc7
>>>
>>>
>>>
>>> _______________________________________________
>>> avrdude-dev mailing list
>>> [hidden email]
>>> https://lists.nongnu.org/mailman/listinfo/avrdude-dev
>>>
>>> _______________________________________________
>> avrdude-dev mailing list
>> [hidden email]
>> https://lists.nongnu.org/mailman/listinfo/avrdude-dev
>>
>>
>

_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: [RFC] XMEGA PDI programming with a AM335x processor

Joerg Wunsch
As Enric Balletbo Serra wrote:

> Andy, at this point, I also tested the programming several times, I think
> is a good idea if I prepare the patches, rebase on top of mainline and send
> to the list, so people can give us feedback.

Filing them into a patch tracker makes more sense.  The list gets automatic
notations for the patch trackers, so anyone who wants it can pick it up
there.

> The patch will include the
> firmware of the PRU, I'm not sure if the firmware should be included under
> the avrdude package or distributed apart from it.

Depends on its license.  Since we are hosted by the GNU folks, they don't
want to host closed-source code on their infrastructure.
--
cheers, Joerg               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)

_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev