Quantcast
Channel: Processors forum - Recent Threads
Viewing all 17527 articles
Browse latest View live

AM1808 sata issue

$
0
0

Hi guy;

we met a issue about the AM1808 sata port. how can I make sure that the AM1808's sata PHY is broken?

we have one board that can not detect the sata HDD(the same load in other borad work ok).

here is the waveform I get from the issue borad when there is no sata HDD connect on the sata port. The sata tx port continue to send out the OOB signal but without the algin primitives on it. 

I also get one from the ok board, as below:

My question:

1.it seems that the issue board's sata port is broken. but it work ok in some days ago. so what will bring this port to broken?

2. any other test method to locate the root cause? and what we can do for this issue board? only to resolder the AM1808 IC??

thank you.


OMAPLCDK GPIO LED Toggle not working but stays high all the time

$
0
0

Hi,

Recently I bought an OMAPL138LCDK board from TI and I found the board was loaded with some Linux bootloader inside its NAND FLASH. So I made the boot switch changes for Emulation Debug support. (DIP settings -> SW1,6,7,8 = ON, SW2,3,4,5 = OFF). Now I load my sample LED toggle application as given below. During the debug(the way I test my application) I can see the GPIO output register value changes as per code execution, but the LCDK board's  4LEDs stays always ON all the time during the code execution. In fact I get the code from the OMAPL138 starterware, and I made some slight changes but nothing more. 

void OMAPL138LCDK_PINMUX_Setup(void)
{
    unsigned int savePinmux = 0;


/*
** Clearing the bit in context and retaining the other bit values
** in PINMUX13 register.
*/
savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) &
~(SYSCFG_PINMUX13_PINMUX13_15_12));

/* Setting the pins corresponding to GP6[12] in PINMUX13 register.*/
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) =
(PINMUX13_GPIO6_12_ENABLE | savePinmux);


/*
** Clearing the bit in context and retaining the other bit values
** in PINMUX13 register.
*/
savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) &
~(SYSCFG_PINMUX13_PINMUX13_11_8));

/* Setting the pins corresponding to GP6[13] in PINMUX13 register.*/
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) =
(PINMUX13_GPIO6_13_ENABLE | savePinmux);


/*
** Clearing the bit in context and retaining the other bit values
** in PINMUX5 register.
*/
savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(5)) &
~(SYSCFG_PINMUX5_PINMUX5_15_12));

/* Setting the pins corresponding to GP2[12] in PINMUX5 register.*/
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(5)) =
(PINMUX5_GPIO2_12_ENABLE | savePinmux);


/*
** Clearing the bit in context and retaining the other bit values
** in PINMUX0 register.
*/
savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(0)) &
~(SYSCFG_PINMUX0_PINMUX0_27_24));

/* Setting the pins corresponding to GP0[9] in PINMUX0 register.*/
HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(0)) =
(PINMUX0_GPIO0_9_ENABLE | savePinmux);
}


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


int main(void) {
int i = 0;


/* The Local PSC number for GPIO is 3. GPIO belongs to PSC1 module.*/
PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);

OMAPL138LCDK_PINMUX_Setup();

 

/* Sets the pin 109 (GP6[12]) as output.*/

GPIODirModeSet(SOC_GPIO_0_REGS, 109, GPIO_DIR_OUTPUT);

/* Sets the pin 110 (GP6[13]) as output.*/
GPIODirModeSet(SOC_GPIO_0_REGS, 110, GPIO_DIR_OUTPUT);

/* Sets the pin 45 (GP2[12]) as output.*/
GPIODirModeSet(SOC_GPIO_0_REGS, 45, GPIO_DIR_OUTPUT);

/* Sets the pin 10 (GP0[9]) as output.*/
GPIODirModeSet(SOC_GPIO_0_REGS, 10, GPIO_DIR_OUTPUT);

while(1)

{
            GPIOPinWrite(SOC_GPIO_0_REGS, 109, GPIO_PIN_LOW);
            GPIOPinWrite(SOC_GPIO_0_REGS, 110, GPIO_PIN_LOW);
            GPIOPinWrite(SOC_GPIO_0_REGS, 45, GPIO_PIN_LOW);
            GPIOPinWrite(SOC_GPIO_0_REGS, 10, GPIO_PIN_LOW);

                      Delay(100000);
                      GPIOPinWrite(SOC_GPIO_0_REGS, 109, GPIO_PIN_HIGH);
                      GPIOPinWrite(SOC_GPIO_0_REGS, 110, GPIO_PIN_HIGH);
                      GPIOPinWrite(SOC_GPIO_0_REGS, 45, GPIO_PIN_HIGH);
                      GPIOPinWrite(SOC_GPIO_0_REGS, 10, GPIO_PIN_HIGH);

                      Delay(100000);
          }
}

MEMORY
{
#ifdef DSP_CORE /* DSP exclusive memory regions */

DSPL2ROM o = 0x00700000 l = 0x00100000 /* 1MB L2 DSP local ROM */
DSPL2RAM o = 0x00800000 l = 0x00040000 /* 256kB L2 DSP local RAM */
DSPL1PRAM o = 0x00E00000 l = 0x00008000 /* 32kB L1 DSP local Program RAM */
DSPL1DRAM o = 0x00F00000 l = 0x00008000 /* 32kB L1 DSP local Data RAM */

#endif

SHDSPL2ROM o = 0x11700000 l = 0x00100000 /* 1MB L2 Shared Internal ROM */
SHDSPL2RAM o = 0x11800000 l = 0x00040000 /* 256kB L2 Shared Internal RAM */
SHDSPL1PRAM o = 0x11E00000 l = 0x00008000 /* 32kB L1 Shared Internal Program RAM */
SHDSPL1DRAM o = 0x11F00000 l = 0x00008000 /* 32kB L1 Shared Internal Data RAM */
EMIFACS0 o = 0x40000000 l = 0x20000000 /* 512MB SDRAM Data (CS0) */
EMIFACS2 o = 0x60000000 l = 0x02000000 /* 32MB Async Data (CS2) */
EMIFACS3 o = 0x62000000 l = 0x02000000 /* 32MB Async Data (CS3) */
EMIFACS4 o = 0x64000000 l = 0x02000000 /* 32MB Async Data (CS4) */
EMIFACS5 o = 0x66000000 l = 0x02000000 /* 32MB Async Data (CS5) */
SHRAM o = 0x80000000 l = 0x00020000 /* 128kB Shared RAM */
DDR2 o = 0xC0000000 l = 0x20000000 /* 512MB DDR2 Data */

#ifndef DSP_CORE /* ARM exclusive memory regions */

ARMROM o = 0xFFFD0000 l = 0x00010000 /* 64kB ARM local ROM */
ARMRAM o = 0xFFFF0000 l = 0x00002000 /* 8kB ARM local RAM */

#endif
}

SECTIONS
{
.text > SHRAM
.stack > SHRAM
.bss > SHRAM
.cio > SHRAM
.const > SHRAM
.data > SHRAM
.switch > SHRAM
.sysmem > SHRAM
.far > SHRAM
.args > SHRAM
.ppinfo > SHRAM
.ppdata > SHRAM

/* TI-ABI or COFF sections */
.pinit > SHRAM
.cinit > SHRAM

/* EABI sections */
.binit > SHRAM
.init_array > SHRAM
.neardata > SHRAM
.fardata > SHRAM
.rodata > SHRAM
.c6xabi.exidx > SHRAM
.c6xabi.extab > SHRAM
}

 

 

I/O Read Error on UartHost.exe for OMAPL137

$
0
0

Hello All,

                  Am using OMAPL-137 on my custom board and able to get the BOOTME string on the hyperterminal when i boot it through UART1. So, now am trying the flash the .bin file to External flash memory(SPI1) and through uarthost.exe. But, am gettin the below messages when i try to flash!!..

Steps Performed:

                           1. I have build the project on ccsv6 and i have got the DSP.out file.

                           2. DSP.out file is converted to test281215.bin file using the AISgen.exe

                           3. Am trying to flash test281215.bin file through uarthost.exe . but, am getting the below errors.

                           4. Baud Rate set is 115200.

(File IO): Read 59828 bytes from file D:\test281215.bin.
(Serial Port): Opening COM1 at 115200 baud...
(AIS Parse): Read magic word 0x41504954.
(AIS Parse): Waiting for BOOTME... (power on or reset target now)
(AIS Parse): BOOTME received!
(AIS Parse): Performing Start-Word Sync...
(AIS Parse): Performing Ping Opcode Sync...
(AIS Parse): Processing command 0: 0x58535963.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): No slave memory present; Sequential Read Enable has no effect.
(AIS Parse): Processing command 1: 0x5853590D.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): Executing function...
(AIS Parse): Processing command 2: 0x58535907.
(AIS Parse): Performing Opcode Sync...
(Serial Port): Read error! (The operation has timed out.)
(AIS Parse): I/O Error in read!
(Serial Port): Read error! (The operation has timed out.)
(AIS Parse): I/O Error in read!
(Serial Port): Read error! (The operation has timed out.)
(AIS Parse): I/O Error in read!
(Serial Port): Read error! (The operation has timed out.)
(AIS Parse): I/O Error in read!
(Serial Port): Read error! (The operation has timed out.)
(AIS Parse): I/O Error in read!
(Serial Port): Read error! (The operation has timed out.)
(AIS Parse): I/O Error in read!
(Serial Port): Read error! (The operation has timed out.)
(AIS Parse): I/O Error in read!
(Serial Port): Read error! (The operation has timed out.)
(AIS Parse): I/O Error in read!
(Serial Port): Read error! (The operation has timed out.)
(AIS Parse): I/O Error in read!
(Serial Port): Read error! (The operation has timed out.)
(AIS Parse): I/O Error in read!
(Serial Port): Read error! (The operation has timed out.)
(AIS Parse): I/O Error in read!
(AIS Parse): Opcode Sync failed after 11 consecutive I/O failures.
(AIS Parse): Boot aborted.
(Serial Port): Closing COM1.

So, can you please let me know how do i solve this problem??

Thanks & Regards

Naveen Chandra

CCS installation for OMAP-L138 DSP+ARM9 development kit (LCDK)

$
0
0

I have downloaded the CCS (version 6.1.2.12) and started the installation. But I cannot find the C6x DSP + ARM processors option in the list (below is what is proposed)

The target hardware is the OMAP-L138 DSP+ARM9 Development Kit (LCDK)

Thanks for your support

Jean Luc

individuallly disabling OMAP-L138 peripherals

$
0
0

Hello,

We have an application where we need to either disable unused OMAP-L138 peripherals, or else somehow explain that they won't interfere with normal operation.

I have figured out how to disable most of the unused peripherals, but I can't find any way to individually disable the peripherals below without also disabling some peripherals we need. I thought about trying to disable them by disabling the specific clocks that they use, but after looking at SRUH77A table 8-1, I see this would also disable perihperals we need.  Any ideas how we can individually disable the peripherals below? (or explain in a credible way that they are gauranteed to not intefere with our application?)

ETM_ETB

Embedded Trace Macrocell / Embedded Trace Buffer

McASP

Multichannel Audio Serial Port

McBSP

Multichannel Audio Serial Port

I2C

Inter-Integrated Circuit Serial Ports

LCDC

LCD Controller

VPIF

Video Port Interface

eHRPWM

Enhanced High-Resolution Pulse-Width Modulator (eHRPWM)

eCAP

Enhanced Capture Peripheral

USB1_1_OHCI

Universal Serial Bus Host Controller

EMAC

Ethernet Media Access Controller

OMAP L137 RAM disk File

$
0
0

Hello,

I am trying to bring up OMAP L137 evm board. 

I have flashed DSP , ARM and Uboot bin files to the SPI flash. uboot works fine.

I tried to copy kernel and RAM disk file to the SDRAM and board comes up.

But when I tried to do the same with SPI flash, the system doesn't come up.

The problem is size of the flash(4MB).

initial for DSP ARM and Uboot occupies around 200kb of memory.

Kernel requires 2MB.

and also  ramdisk.gz requires 2.6MB of memory.

but we don't have that much memory in the Flash.

My questions are,

1) is there any other ram disk file that I can use and boot.

2) How to create the Ram disk file

where will I find the RAM disk file for the OMAP L137 board.

Thanks And Regards,

Vijay Hiremath

Waiting for SFT on the OMAPL-137 when using sfh_OMAP_L137.exe

$
0
0

Hello All,

                      Am using sfh_OMAP_L137.exe utility to flash the code to external flash device through UART. But, am facing the below issues.

I have OMAPL_137 EVM board. In this board am able to flash it without any issues. Here the EVM board is designed using SPI0 channel. In this case am able to erase and flash the code without any issues.

But, in case of my custom board am not able to erase nor flash the code using the utility . Here we have designed the board using SPI1 channel.Am getting this error

Waiting for SFT on the OMAPL-137.

I have tried with flashtype , target type and all these options.

Can you please let me know what exactly is the issue?? 

Waiting for your reply at the earliest!!

Thanks & Regards

Naveen Chandra

sfh_OMAP-L137.exe Utility for flashing custom board connected to SPI1 Flash

$
0
0

Hello,

We have made a custom board based on OMAPL137- HT and Flash is connected to SPI1.

Can we use the same utility sfh_OMAP-L137.exe/UartHost.exe which are provided for OMAPL 137 evm.

OR Can we suggest any other way to flash the code to the SPI1 flash.

Thanks And Regards,

Vijay Hiremath


OMAP LCDK starterware examples on vga

$
0
0

Hello there!

I have the L138 LCDK board. I want to capture video data from a CMOS image sensor and store it to SD card. I was hoping to understand the code by looking at the vpif_loopback demo. But i saw that the name suggests it displays on LCD. Is it the same as the VGA port ? if not what can be done to port it to vga. I tried running the demos "game/demo/vpif_loopback". None of these 3 shows anything on my VGA

Thanks in advance

Vivek

AM1808 high resolution timestamps

$
0
0

I am working on a project about time measurement on Lego Mindstorms Ev3. Lego used the AM1808 Chip.

On the Mindstorms is running a modified Linux OS  (Ev3dev).

I want to measure some C code instructions and need time stamp before and after some instruction with minimal overhead.

I need a C code instruction or inline assembly  to take the timestamp.

Request for test project code CCS 3.3 for printing text on LCD (DA830 USER INTERFACE MODULE)

$
0
0

Hi All,

Could someone send any test project code CCS 3.3 for printing text on LCD, which is a part of:
DA830 USER INTERFACE MODULE (with OMAP-L137 EMV).

Regards,

Bartlomiej

Automatic use case generation exe not working for Version 02.08.00(Oct 2015)

$
0
0

Usecase generation tool i.e.  vsdk_win32.exe in folder VISION_SDK_02_08_00_00\vision_sdk\tools\vision_sdk_usecase_gen\bin is not working. So we are unable to generate automatic usecase.The version  is 02.08.00(October 2015). Can u pls help us in this regard???

Programming PLL Controllers on OMAP-L1x8/C674x/AM18xx

$
0
0

All:

When using the SYS_CLK_CALC_OMAP-L138_C674X_AM18X-v1p3.xls  spreadsheet, it appears that a 50 MHz external square wave is not accepted (even though it is a valid option).

However, to use the OMAP-L138-EP part, it appears that an input clock of 45 MHz would allow for a Max frequency of 345 MHz to be generated, and it would also allow a 115 MHz EMIFA clock to be generated. (148 MHz max)

It would also allow DDR2 memory to be attached and run at 150 MHz (similar to the TMDSLCK138 DDR2 memory).

Is there a better choice of input clock when running with the OMAP-L138-EP part?

problem when writing data on emifa 8 bit from C6748 on OMAP L138 LCDK board

$
0
0

Hi there,

Did anyone have this problem writing data on 8 bit  EMIFA bus from C6748 ( on OMAPL138 LCDK board)?

My emifa bus is using CS4. Basically, when writing data from 0x01 to 0xff in normal mode , I don't see correct data on my  oscilloscope. see picture below.  My aim is to connect my LCDK to a FPAG.

As I see, EMA_CS4 pin, OEn pin and WE pin work correctly. I also checked EMA_A/ BA1 / BA0  bus by swapping data pin and they appearred to work correctlyas well.

I cannot find any problems in configuration of EMIFA CS4 in 8 Bit. Can anyone help me here? 

OMAP-L138 Software Design Guide Updates

$
0
0

All:

http://processors.wiki.ti.com/index.php/OMAP-L138_Software_Design_Guide is a great starting point, but here are a few updates that need to be added:

1. Under "Software Hierarchy Providing specific for OMAP-L138/C6748 -> RTOS Support for OMAP-L138/C6748"

    Add a link to TI-RTOS support for the OMAP-L138/C6748.

2. Under "Procure Hardware Development Platforms & Emulation Tools -> Software Development Platforms for OMAP-L138/C6748"

    Add a link to TMDSLCDL138  Low Cost Development Kit.  http://processors.wiki.ti.com/index.php/L138/C6748_Development_Kit_(LCDK)


Code Composer Studio Flash Programming Plug-in for LCDK138 Nand Flash

$
0
0

All:

Given that the LCDK138 (and other platforms) have external Nand Flash on the board, I request an enhancement to Code Composer Studio to support programming the NAND Flash from the CCS environment. (There is an existing Command-Line based NAND Flash programmer - this would be an enhancement to that.)

Migrating from Starterware (OMAP-L138) on EVM to Target with OMAP-L138

$
0
0

All:

Are there any specific guidelines for migrating from Starterware based on an EVM (in my case the LCDK138) to a OMAP-L138 based target?

Here is a list of excellent sites I have seen:

http://processors.wiki.ti.com/index.php/StarterWare_01.10.01.01_User_Guide

http://processors.wiki.ti.com/index.php/Getting_Started_Guide_for_OMAP-L1

http://processors.wiki.ti.com/index.php/OMAP-L138_Software_Design_Guide

http://processors.wiki.ti.com/index.php/Debug_Handbook_for_CCS

http://processors.wiki.ti.com/index.php/Projects_and_Build_Handbook_for_CCS

However, when migrating, there are various LCDK features that may or may not be carried over into the target features. Are there any "gotcha's" in terms of linker command files, compiler levels, and other areas that need specific attention?

Thanks!

 

DSPLIB for OMAPL137

$
0
0

Hello,

           we are planning to use DSPLIB for FFT calculation of our application, and  I was searching for suitable libraries.

I could find below mentioned libraries,

1) c674x-dsplib_1_03_00_01

2) dsplib_c674x_3_4_0_0

which one is stable and latest?

And In the second dsplib_c674x_3_4_0_0 how do you link the .lib to project?

I could find dsplib.lib file is the size of 1KB in the lib folder.

I am novice in DSP, Elaborated answer would help a lot.

Thanks And Regards,

Vijay Hiremath

Digital Zoom

$
0
0

I apologize if this is not the appropriate forum to ask in (I couldn't find the thread for general processor questions).

I'm looking for video chip that can create a digitally zoomed video, that is, sample the inner  1/2, 1/4, 1/8  pixels and replicate to original resolution. 
For bonus, it would be great to find a chip that can handle RGB888 input (from image sensor) and  4 pair LVDS output (for display). 

Ideally I'd like to find a lower end DSP that's built for simple functions like digital zoom, rather than using a full blown higher end video processor. 
If you have any ideas, or have advice about whom I should talk to, I'd appreciate all the help.

PRU TI C compiler documentation and control register access

$
0
0

Hello

I'm developing an application for use on the OMAP L138's PRU and am having some trouble finding the correct documentation.

I'm using  CCS Version: 6.1.1.00022 and have installed the PRU Compiler Tools Version 2.1.2.

I'm using the TI PRU compiler so I can write my application in C but I'm having a hard time finding documentation on compiler support for the intrinsic function - such as __delay_cycles. I found that one by simply googling online, but it would be nice to have a document that lays everything out.

Specifically, I'm looking to access the Cycle Count Register and am wondering if there is a macro defined somewhere that I can use, or if I have to access it via pointer; eg 

volatile uint32_t* cycleCount = (volatile uint32_t*)(SOME_ADDRESS);

I have read through the PRU Wiki but don't see much information about the C compiler.

Thanks!

Viewing all 17527 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>