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.

OMAP 35x use without linux kernel

Other Parts Discussed in Thread: OMAP3530

hi, i'll use the omap3530 without linux kernel. my problem is: after boot u-boot the performance is poor. e.g. i implement a hanoi app. the execution time for the algorithm is ten time as with boot a kernel.

i'm sure (believe) that u-boot is configuration clocks and l2 cache.

whats wrong?

thx

  • I suspect not much cache management is being done at the u-boot level; this is a big part of the job of the vitrtual memory manager in Linux; if you are not using Linux kernel, then you may be in for a good amount of work...  May I ask why you do not plan on using Linux Kernel?  Normally, when it comes to complex GPPs such as ARM (specially the cortex-A8 on OMAP35x) and x86s processors, you want to run some type of operating system on it. 

  • hi, tanks for your answer!

    i will build a measuring system with the processor. therefor i need interrups with a small delay time. a delay time with the task scheduler is not enough. i can execute a interrupt in the dsp but the arm core must also campute in real time. i need a measuring rate about 10kHz.

    what must i initialize to get the full speed of mpu and dsp ?

     

  • it's really so hard to work with omap without operating system? i've experience with arm9 also without os. what's different?

    thanks in advance

  • Daniel said:
    it's really so hard to work with omap without operating system?

    In general it is fairly difficult, the OMAP was designed to be used with an OS, much like a PC, as opposed to a simpler processor like a microcontroller where most if not all of the code is written by the end developer. The difference is in the variety of peripherals and their complexity , the technical reference manual for the device is over 3500 pages and depending on what features you are using there is more than what is just contained in the TRM that you might need to know. Beyond this, since TI targets the OMAP3 series for high level OSes there is minimal software collateral outside of the actual OS board support packages, making an already complex part for ground up development even more difficult.

    On the other hand if you use a supported OS, than much like your PC most things should 'just work', meaning you can access standardized APIs to get things done quickly, as well as making a wide variety of existing software available.

    For your particular situation, I would examine the source code that we do provide for Linux as an example of initializing the device and any peripherals you need, in this particular case I would look at the cpufreq driver which manages the operating performance point of the processor (i.e. voltages and frequencies).

  • thanks bernie!!

    ok, i'm now confident that's hard work to use the omap without os.

    now i think i need only one fast interrupt without kernel manipulation. i've wrote a kernel modul thats toggle a gpio-pin if a gpio-interrupt is triggert.

    i set the irq handler with

     set_irq_handler (297, handle_my_simple_irq);   // 297 is for gpio-pin 139

    and toggle the pin with

         if (led_on){
            led_on = 0;
            //gpio_set_value(142, 0);
            __raw_writel(0xf000b000,0xd905603c);
        }else{
            led_on = 1;
    //        gpio_set_value(142, 1);
            __raw_writel(0xf040f000,0xd905603c);
        }

    i mesure the time between trigger the interrupt (extern with function generator) and toggle the gpio-pin with an oszilloscope. the response time is between 1.6 and 6 microseconds. the omap is clocking with 600 MHz. 1.6 micoseconds --> 960 Instructions !!

    i need a interrupt response time without a big jitter and clearly under 1 microsecond.

     

    can i access directly the omap interrupt-table? and where is it implement in the kernel?

     

    thanks