This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Managing HWIs using SYSBIOS

Other Parts Discussed in Thread: SYSBIOS

I've been reading through the SYSBIOS documentation, working on a few examples and looking at other threads on the BIOS forum such as the one below http://e2e.ti.com/support/embedded/bios/f/355/t/94262.aspx to get some ideas about managing Hwis in a SYSBIOS system.  All the info I've looked at indicates that there is no cohesive method to manage interrupt assignment; you either use the interrupt assigned by default or pick one yourself during static or dynamic configuration.  

I'm working on abstracting the lower level implementation details of the system for application developers and need a way to systematically manage interrupts.  The app developer will be provided with an API to the available interfaces in the system.  The code/library that I provide will be responsible for managing the resources required to support the interface (interrupts, memory etc.).  There is a fair amount of latitude in the type of systems that can use this library; simple systems with a couple of tasks and interrupts and others that will take it to the edge.  Are there any modules/facilities within SYSBIOS to manage this sort of task or will I need to write my own?   This is for an OMAP L138 based system.  I do understand that SYSBIOS provides a certain level abstraction but I want to decouple the app from the lower level implementation.

Here's a simple example of something that this module might need to do.  

  • Application keeps requesting interfaces that need to use Hwis (uarts, edma, i2c etc.).
  • Library will need to query some module/structure to determine which interrupts are not used and assign them to interface requested.
  • Library should also be able to figure out if it makes sense to combine these events (based on system interrupt number or user-specified frequency etc.)

I'm also interested to find out if there are simpler approaches to achieve what I described above :)

Thanks,

Dinesh

  • Hi Dinesh,

    Dinesh Balasubramaniam said:

    Here's a simple example of something that this module might need to do.  

    • Application keeps requesting interfaces that need to use Hwis (uarts, edma, i2c etc.).
    • Library will need to query some module/structure to determine which interrupts are not used and assign them to interface requested.
    • Library should also be able to figure out if it makes sense to combine these events (based on system interrupt number or user-specified frequency etc.)

    I'm also interested to find out if there are simpler approaches to achieve what I described above :)

    Looking at your example use case, I think most of the functionality of the library in your example is performed by the peripheral device drivers (UART, I2C, ...).

    Have you looked at TI-RTOS documentation ? TI-RTOS is based on SYS/BIOS and includes device drivers (UART, USB, I2C, ...). I think it will be useful for you to go over the documentation once. Here's a link to the user guide:

    http://downloads.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/mcusdk/1_00_01_74/exports/docs/docs/spruhd4a.pdf

    Best,

    Ashish