BBB GSoC Projects was Re: Gsoc 2016 project proposal

Marcos Díaz marcos.diaz at tallertechnologies.com
Tue Mar 15 19:58:40 UTC 2016


On Tue, Mar 15, 2016 at 4:20 PM, punit vara <punitvara at gmail.com> wrote:
> On Tue, Mar 15, 2016 at 12:24 PM, punit vara <punitvara at gmail.com> wrote:
>> On Mon, Mar 14, 2016 at 7:07 PM, punit vara <punitvara at gmail.com> wrote:
>>> On Wed, Mar 9, 2016 at 1:38 AM, punit vara <punitvara at gmail.com> wrote:
>>>>
>>>>
>>>>
>>>> On Sun, Mar 6, 2016 at 8:54 PM, punit vara <punitvara at gmail.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>> On Sun, Mar 6, 2016 at 2:09 PM, Ketul Shah <ketulshah1993 at gmail.com> wrote:
>>>>>>
>>>>>> Hello Punit and all,
>>>>>>
>>>>>> According to me, Punit you must have completed some gpio test through gpio API that was merged last year. So till the final result of accepted student you can start working with PWM driver that plays an important role for any embedded project. This would be a good kick-start for you as well as a strong reason to showcase in your proposal. Try to give hardware test and post the video if possible.
>>>>>>
>>>>>> Coming to further I2C and SPI can be next milestones. To me these should be at the highest priorities. I had done I2C driver but was not able to make the hardware test. So you can also refer that and come up with the output along with best modifications.
>>>>>>
>>>>>> Next target you can set for SPI after both drivers are tested and committed.
>>>>>>
>>>>>> For the references you can always have a loot at code of GPIO API,MINIX,FreeBSD for BBB drivers.
>>>>>>
>>>>>> Any suggestions ?
>>>>>>
>>>>>> In case of any queries you can always ping.
>>>>>>
>>>>>> Cheers,
>>>>>> Ketul
>>>>>>
>>>>>> On 5 March 2016 at 01:02, Marcos Díaz <marcos.diaz at tallertechnologies.com> wrote:
>>>>>>>
>>>>>>> We use I2c but using drivers from TI's baremetal drivers they provide in their StarterWare software suite.
>>>>>>> So, currently we cannot commit that into RTEMS.
>>>>>>> But those drivers should be very useful to port to RTEMS.
>>>>>>>
>>>>>>> On Wed, Mar 2, 2016 at 5:53 PM, Joel Sherrill <joel at rtems.org> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Mar 2, 2016 at 2:22 PM, Marcos Díaz <marcos.diaz at tallertechnologies.com> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Mar 2, 2016 at 4:56 PM, Joel Sherrill <joel at rtems.org> wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wed, Mar 2, 2016 at 1:41 PM, punit vara <punitvara at gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Yes I have checked previous year work of ketul . He has done ADC and GPIO BSP . It seems SPI,USB BSP need to be developed as I have checked rtems.git and I am not sure about I2C .I asked last year student Ketul .According to him , I2c is also need to be modified. I tried to contact Ben but he is unreachable on mailing list :-(
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Let me reach out to Ketul and see if a private ping helps.
>>>>>>>>>>
>>>>>>>>>> Start with the assumption that USB needs work. That involves the rtems-libbsd tree and
>>>>>>>>>> there is likely code to import from FreeBSD that will help a lot.
>>>>>>>>>>
>>>>>>>>>> SPI and i2c are close to one another in my understanding. Likely Ketul is referring to changes
>>>>>>>>>> in the RTEMS i2c interfaces.
>>>>>>>>>>
>>>>>>>>>> My recollection is that the NIC had performance issues based on the version of U-Boot
>>>>>>>>>> used. There was some traffic at the end of GSoC about this. I don't know if it was
>>>>>>>>>> ever resolved.  But the NIC should work. Maybe worth benchmarking.
>>>>>>>>>
>>>>>>>>> We had more of these problems when trying to use I2C. It was fixed in
>>>>>>>>> https://git.rtems.org/rtems/commit/?id=8c5c53f4788eb74264a053f8293fed26da85b764. I think we dont need tos ee these problems any more
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>>> Marcos.. does this mean that the BBB i2c is complete now?
>>>>>>>>
>>>>>>>> And is my understanding that this covers SPI correct?
>>>>>>>>
>>>>>>>> What else on the BBB is left?
>>>>>>>>
>>>>>>>> --joel
>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --joel
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> On Thu, Mar 3, 2016 at 12:57 AM, Joel Sherrill <joel at rtems.org> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Wed, Mar 2, 2016 at 1:24 PM, Hesham Almatary <heshamelmatary at gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Punit,
>>>>>>>>>>>>>
>>>>>>>>>>>>> You can have a look at the open projects here [1] and find one or more
>>>>>>>>>>>>> that match your experience/interests.
>>>>>>>>>>>>>
>>>>>>>>>>>>> [1] https://devel.rtems.org/wiki/Developer/OpenProjects
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I have added Ben Gras. He knows more about the BBB than anyone. I am unsure what is left
>>>>>>>>>>>> to do. Have you compared the status of last year's projects versus the git repository?
>>>>>>>>>>>>
>>>>>>>>>>>> --joel
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wed, Mar 2, 2016 at 7:14 PM, punit vara <punitvara at gmail.com> wrote:
>>>>>>>>>>>>> >  I have asked for BBB BSP proposal before but I haven't found any good
>>>>>>>>>>>>> > response from someone. What are the projects you are going to mentor @joel ?
>>>>>>>>>>>>> > Would anyone please suggest me to pick any other project ?
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > _______________________________________________
>>>>>>>>>>>>> > devel mailing list
>>>>>>>>>>>>> > devel at rtems.org
>>>>>>>>>>>>> > http://lists.rtems.org/mailman/listinfo/devel
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Hesham
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> devel mailing list
>>>>>>>>>>>>> devel at rtems.org
>>>>>>>>>>>>> http://lists.rtems.org/mailman/listinfo/devel
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> devel mailing list
>>>>>>>>>> devel at rtems.org
>>>>>>>>>> http://lists.rtems.org/mailman/listinfo/devel
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> ______________________________
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Marcos Díaz
>>>>>>>>>
>>>>>>>>> Software Engineer
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> San Lorenzo 47, 3rd Floor, Office 5
>>>>>>>>>
>>>>>>>>> Córdoba, Argentina
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Phone: +54 351 4217888 / +54 351 4218211/ +54 351 7617452
>>>>>>>>>
>>>>>>>>> Skype: markdiaz22
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> ______________________________
>>>>>>>
>>>>>>>
>>>>>>> Marcos Díaz
>>>>>>>
>>>>>>> Software Engineer
>>>>>>>
>>>>>>>
>>>>>>> San Lorenzo 47, 3rd Floor, Office 5
>>>>>>>
>>>>>>> Córdoba, Argentina
>>>>>>>
>>>>>>>
>>>>>>> Phone: +54 351 4217888 / +54 351 4218211/ +54 351 7617452
>>>>>>>
>>>>>>> Skype: markdiaz22
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> devel mailing list
>>>>>>> devel at rtems.org
>>>>>>> http://lists.rtems.org/mailman/listinfo/devel
>>>>>>
>>>>>>
>>>>> Thank a lot for helping me. Till now I have completed hello world Test on Beagle Bone Black.Soon I will post video on youtube. I will follow your suggestions. Any more suggestions for me @Joel regarding proposal and prerequisite tasks ?
>>>>
>>>> I have uploaded hello world video of beagle bone black on this link
>>>>  https://www.youtube.com/watch?v=FyOHU02bsvw&list=PL2muodf7ZnYcS18wkilESuJpZGj4mYSMJ&index=6
>>>>
>>>>
>>> I have successfully tested GPIO API's  with BBB. Tried to blink LED on
>>> bank 0 as well as well 1.  Please checkout
>>> https://www.youtube.com/watch?v=aYBIJoueGe0
>>
>> I would like to start working on PWM Driver until I get accepted in
>> GSOC'16.I would follow mostly the same plan for other drivers as well.
>> My rough plan is as follow :
>>
>>       1. Registers’ Mapping
>>
>> Add Memory mapped Registers(like PWM_Subsystem0 0x48300000) to
>> am335x.h file that is located in
>> rtems/c/src/lib/libcpu/arm/shared/include (Reference AM335X TRM)
>>
>>       2.   Header file for each driver
>>
>> Create pwm.h file to declare many APIs like (pwm_config(),
>> pwm_enable() etc.) Keep this header file in
>> ../libbsp/arm/beagle/include . I will follow mostly similar workflow
>> for I2c and SPI driver and will refer Andre GSOC RPi work for I2c and
>> SPI. For each new driver .h file need to be added.
>>
>>       3.  Function Definition’s file
>>
>> Make directory (like pwm) -> add .c file (like pwm.c) -> keep this
>> directory in ../libbsp/arm/beagle -> Include all the functions'
>> definitions in that .c file (should be at kernel space) .
>>
>>       4. Testing APIs
>>
>> To test the driver create directory under ..testsuites/samples/ -> pwm
>> . Add init.c which performs task to check PWM driver  using newly
>> added APIs from ../libbsp/shared/include Update Makefile
>> (../testsuites/samples/Makefile.am) to add directory(i.e. pwm ) and
>> configure.ac (../testsuites/samples/configure.ac). After compilation ,
>> .exe file will be generated i.e at location
>> development/rtems/b-test/c/beagleboneblack/testsuites/samples/pwm/pwm.exe
>>
>> Then It can be tested on qemu followed by beaglebone black.
>>
>> Gosc 2015 Ketul Shah and André Marques’s work would be useful for
>> further approach and testing.
>>
>> Any suggestions please ? Any further advice to get started with PWM
>> driver (i.e Reference) ?
>>
>> Best regards,
>> Punit
> Hi Marcos,
>
> If you can comment on my work flow It would be really helpful for me .
> I am kindly waiting for your response.


Hi,
That seems Ok to me.
Maybe your workflow shouldn't be that strict. I'd rather add necessary
defines as long as i'm needing them. Perhaps you should define the
interface of the driver first (which functions it will have) and start
developing it, Adding mapping of registers as long as you need them.
About the Testing. I'm not pretty sure you will be able to test pwm
with qemu (in fact i'm not sure if beaglebone is supported in qemu, do
you know?)
Maybe Joel has some idea about testing drivers, but I haven't seen
tests on peripheral drivers.
-- 
______________________________


Marcos Díaz

Software Engineer


San Lorenzo 47, 3rd Floor, Office 5

Córdoba, Argentina


Phone: +54 351 4217888 / +54 351 4218211/ +54 351 7617452

Skype: markdiaz22


More information about the devel mailing list