Quantcast
Channel: Forums - Recent Threads
Viewing all 262198 articles
Browse latest View live

AM3352 - Flashing NAND from Linux fails

$
0
0

Tool/software: Linux

Hello,


I'm attempting to flash NAND from Linux on my custom hardware with a AM3352. From the Linux userspace I'm flashing NAND, and everything appears to be good, but when I reboot, I boot back into the original kernel. What do I need to do to flash NAND from Linux userspace?

RIM# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00020000 00020000 "SPL"
mtd1: 00020000 00020000 "SPL.backup1"
mtd2: 00020000 00020000 "SPL.backup2"
mtd3: 00020000 00020000 "SPL.backup3"
mtd4: 001e0000 00020000 "U-Boot"
mtd5: 00020000 00020000 "U-Boot Env"
mtd6: 00500000 00020000 "Kernel"
mtd7: 07880000 00020000 "File System"
mtd8: 00008000 00000001 "FRAM"
RIM# uname -a
Linux RIM 3.2.0-ts-armv7l #46 Mon Jun 12 16:06:45 EDT 2017 armv7l GNU/Linux
RIM# flash_erase /dev/mtd6 0 0
Erasing 128 Kibyte @ 4e0000 -- 100 % complete
RIM# nandwrite -p /dev/mtd6 /tmp/uImage
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
Writing data to block 4 at offset 0x80000
Writing data to block 5 at offset 0xa0000
Writing data to block 6 at offset 0xc0000
Writing data to block 7 at offset 0xe0000
Writing data to block 8 at offset 0x100000
Writing data to block 9 at offset 0x120000
Writing data to block 10 at offset 0x140000
Writing data to block 11 at offset 0x160000
Writing data to block 12 at offset 0x180000
Writing data to block 13 at offset 0x1a0000
Writing data to block 14 at offset 0x1c0000
Writing data to block 15 at offset 0x1e0000
Writing data to block 16 at offset 0x200000
Writing data to block 17 at offset 0x220000
Writing data to block 18 at offset 0x240000
Writing data to block 19 at offset 0x260000
Writing data to block 20 at offset 0x280000
Writing data to block 21 at offset 0x2a0000
Writing data to block 22 at offset 0x2c0000
Writing data to block 23 at offset 0x2e0000
Writing data to block 24 at offset 0x300000
Writing data to block 25 at offset 0x320000
Writing data to block 26 at offset 0x340000
Writing data to block 27 at offset 0x360000

Then after the reboot I check the kernel. The build date and revision should have been updated, but it still shows the old kernel.

RIM# uname -a
Linux RIM 3.2.0-ts-armv7l #46 Mon Jun 12 16:06:45 EDT 2017 armv7l GNU/Linux

I know the kernel build date and revision will change because I can flash NAND from U-Boot and it works. I'm not able to get the process to work from Linux. Any Ideas?

Thanks,

-Michael


CCS/CC2640R2F: Trying to get accel value from mpu6050 with i2c example

$
0
0

Part Number:CC2640R2F

Tool/software: Code Composer Studio

Hi again.

I'm trying to use mpu6050 with cc2640 launchpad.

I started i2c with tidriver example i2ctmp007 and trying editing the example a little bit.

Here's a part of code

/* Turn on user LED */
GPIO_write(Board_GPIO_LED0, Board_GPIO_LED_ON);
printf("Starting the i2ctmp007 example\n");

/* Create I2C for usage */
I2C_Params_init(&i2cParams);
i2cParams.bitRate = I2C_400kHz;
i2c = I2C_open(Board_I2C_TMP, &i2cParams);
if (i2c == NULL) {
printf("Error Initializing I2C\n");
while (1);
}
else {
printf("I2C Initialized!\n");
printf("let's go!");
}

I'm using printf to check where error occurs, and there's strange thing happening.

Console print "I2C Initialized!" but not "let's go!".

I have no idea what the problem is.

Anybody knows..?

Thank you!

66AK2H14: Reference for 14 pin JTAG connection

$
0
0

Part Number:66AK2H14

Hi,

I am planning to use 14 pin JTAG connector for 66AK2H14 soc. Please provide any reference design if available, for better understanding of the connection.

Thanks & Regards,

Madhu

TMS320DM368: Transcoding an H.264 byte stream, previous encoded by DM365 H.264 Encoder 2.30.0.6 with DM365 H.264 Decoder from the DVSDK 4.2.0.6 (DM368)

$
0
0

Part Number:TMS320DM368

Hi,

I am trying to decode an H.264 byte stream, previously encoded by the official encoder, in order to re-encode it using a different bitrate. Actually I was trying to re-encode a stream from a different encoder, but since it did not work, I tried to use the same native H.264 encoder that we use all the time, just to check that the decoder is working properly and that I know how to use it.

Unfortunately, it is not working for me. The decoder initializes fine and after not long it identifies the video resolution correctly. It also sends a few images, which I then feed directly to the encoder with the same parameters, just a different bitrate. However, the images are not recognizable. I should probably assume at this stage that there is some buffer mismatch, perhaps the Y and UV, width and pitch are not passed correctly. But the problems are seen in the log, where almost every call to VIDDEC2_process ends with return code of -1 and some extended error that I get from the status. The common errors are 0x200 (applied concealment) , 0x600 (+insufficient data), etc. The number of consumed bytes is only sometimes related to the length, sometimes more, sometimes less.

HD-Decoding causes the VIDDEC2_process to crash, so I am only trying VGA at this time.

The video decoder is initialized with the following parameters:

IVIDDEC2_Params &vdpParams = m_hvdpParams.viddecParams;
vdpParams.size = sizeof( m_hvdpParams );
vdpParams.maxHeight = MAX_HEIGHT;
vdpParams.maxWidth = MAX_WIDTH;
vdpParams.maxFrameRate = MAX_FRATE * 1000;
vdpParams.maxBitRate = MAX_BITRATE;
vdpParams.dataEndianness = XDM_BYTE;
vdpParams.forceChromaFormat = XDM_YUV_420SP;
m_hvdpParams.displayDelay = 0;
m_hvdpParams.hdvicpHandle = NULL;
m_hvdpParams.disableHDVICPeveryFrame = 0;
m_hvdpParams.levelLimit = LEVEL_4_2;
m_hvdpParams.frame_closedloop_flag = 0;
m_hvdpParams.inputDataMode = IH264VDEC_TI_ENTIREFRAME;
m_hvdpParams.sliceFormat = IH264VDEC_TI_BYTESTREAM;

IVIDDEC2_DynamicParams &vddpDynamicParams = m_hvddDynamicParams.viddecDynamicParams;
vddpDynamicParams.size = sizeof( m_hvddDynamicParams );
vddpDynamicParams.decodeHeader = XDM_DECODE_AU;
vddpDynamicParams.displayWidth = 0;
vddpDynamicParams.frameSkipMode = IVIDEO_NO_SKIP;
vddpDynamicParams.frameOrder = IVIDDEC2_DISPLAY_ORDER;
vddpDynamicParams.newFrameFlag = XDAS_FALSE;
vddpDynamicParams.mbDataFlag = XDAS_FALSE;
m_hvddDynamicParams.getDataFxn = NULL;
m_hvddDynamicParams.dataSyncHandle = NULL;
m_hvddDynamicParams.resetHDVICPeveryFrame = 1;

m_hVideoDecoder = VIDDEC2_create( m_hEngine, "h264dec", &vdpParams );

I have tried to parse the NAL units myself and feed them separately.

I have also tried to just give it a buffer with any NAL units inside and try to progress according to the number of bytes consumed.

Can you tell me what I am doing wrong or what is the right way to use the H.264 decoder?

Thanks,

Gadi

TVP5150AM1: TVP5150 detects camera access

$
0
0

Part Number:TVP5150AM1

TVP5150 detects camera access by reading fourth bits of the 88H register, 0 representing the received video stream, and 1 representing not receiving the video stream.
But in the course of our actual inspection, we will find:
1., access to the camera, the beginning of several times to read the register, the result is 1 (not access), and then read the value is 0 (access). This status register whether there is delay?
2. without access to the camera, read the register value, and sometimes read the result of 0 (not access)
To sum up, simply read register values to judge, and sometimes the results are not consistent with the actual access to the camera, causing us to detect errors,

can you give me same  advise to  detects camera access?Thank you!!

TINA/Spice/PCA9306: PCA9306 IBIS model Question

$
0
0

Part Number:PCA9306

Tool/software:TINA-TI or Spice Models

Hi Team,

My customer have questions about PCA9306 IBIS model.

They want to use PCA9306 for MDC/MDIO interface.

VSC8572 support maximum 12.5MHz MDC.

1. 12.5MHz Vih margin too low than 5MHz case. Is this IBIS model issue?

1.    2. Min/max results swapped.

When they test PCA9306_IO_25_S model, min&max swapped.

PCA9306 VDD (Vref1)
Mode
Output voltage
Datasheet
Simulation
2.5V
max
1.9V
1.35V
typ
1.5V
1.53V
min
1.2V
1.74V

 

Please check min / max parameter in IBIS model swapped or not.

 

2.       3. There is no voltage tolerance information in datasheet, can they use IBIS model voltage range?

 

3.       4. They use 2.5V model due to Vref1 set to 2.5V.
Can they use 3.3V for Vref1, even if SCA1, SDA1 level is 2.5V?

 

Thank you.
Best Regard,
Jade
Hi Team,
 
Customer have questions about PCA9306 IBIS model.
cid:150232133945971
They want to use PCA9306 for MDC/MDIO interface.
VSC8572 support maximum 12.5MHz MDC.
 

1.       12.5MHz Vih margin too low than 5MHz case. Is this IBIS model issue?
cid:150232133945970

2.       Min/max results swapped.
When they test PCA9306_IO_25_S model, min&max swapped.

PCA9306 VDD (Vref1)
Mode
Output voltage
Datasheet
Simulation
2.5V
max
1.9V
1.35V
typ
1.5V
1.53V
min
1.2V
1.74V

 

Please check min / max parameter in IBIS model swapped or not.

 

3.       There is no voltage tolerance information in datasheet, can they use IBIS model voltage range?

 

4.       They use 2.5V model due to Vref1 set to 2.5V.
Can they use 3.3V for Vref1, even if SCA1, SDA1 level is 2.5V?

CCS/awr1642: Flashing a new .bin file onto the radar

$
0
0

Part Number:awr1642

Tool/software: Code Composer Studio

Hi everyone,

Due to unsatisfactory response on my question regarding the same topic I am asking this question again. I was previously pointed to a thread which had similar problem but the cause was totally different and that did not help. We wanted to do some changes in the mmw demo .c files , so we carried them out successfully in the debug mode and the radar works fine. However, when we try to upload the mmw_demo.bin file on the radar the file is uploaded and is of the same size as that of the original version. But when we try to send configuration from the Visualizer on to the radar we get no data on the console and the plots. We are using CCS 7.1, mmw_training 1.2.1. We also tried upgrading to CCS 7.2 but had installation issues on 2 different systems. 

Is there any way we could upload our very own bin file successfully onto the radar and get the radar function properly as well? because trying to run radar in debug mode every time is a very big hassle. 

Thank you. 

ADS7851: ADS7851

$
0
0

Part Number:ADS7851

Hi, I've recently purchased ADS7851

With QFN16 to DIP16 adapter I connected it to Raspberry Pi, trying to communicate via SPI.

However, I'm facing some problems, which might be unique one for this product since ADS7851 doesn't have Din(Data input) port. It only has CS(Chip Select) Port.

As far as I know, I need to send command bytes by MOSI(Raspi)->Din(ADS) and receive back by MISO(Raspi)<-SDO A(ADS), which is the common way in other ADC Products such as MCP3208.

The point is, I wonder how to apply SPI communication to this product.

Thanks, Daniel


IWR1443BOOST: Water Level sensing (TIDEP-0091)

$
0
0

Part Number:IWR1443BOOST

Hello
I have a customer who wants to evaluate the IWR1443 for a Water Level sensing project and TIDEP-0091 looks to provide much of what they are looking to achieve.

For initial evaluation they would like to use the OOB demo and mmWave Visualiser, so could you advise on settings or provide a  config file to achieve something similar to TIDEP-0091.

If this looks OK we can then go ahead and program eval boards with this TI-Design software.

Many Thanks
Bob Bacon

RTOS/CC1310: TI RTOS Idle Task

$
0
0

Part Number:CC1310

Tool/software:TI-RTOS

Hi ,

I am using cc1310.

Currently we are working on current consumption of our product.

For testing I run only one task that immediately goes to sleep forever.

Here the fragment of TI RTOS configuration file:

/*
* Enables the idle task.
*
* Pick one:
* - true (default)
* Creates a task with priority of 0 which calls idle hook functions. This
* option must be set to true to gain power savings provided by the Power
* module.
* - false
* No idle task is created. This option consumes less memory as no
* additional default task stack is needed.
* To gain power savings by the Power module without having the idle task,
* add Idle.run as the Task.allBlockedFunc.
*/
//Task.enableIdleTask = true;
//Task.enableIdleTask = false;

Task.allBlockedFunc = Idle.run;

But in the IAR  ti.sysbios.knl.Task Basic window we  see  :

i.e. ti.sysbios.knl.Task.idleTask is running.

In the scope( we measure the voltage we  see pick every 60-70 msec).

And the only task running is  Kernel  IdleTask.

I tried another configuration:

Task.enableIdleTask = false;

Task.allBlockedFunc = Idle.run;

 In the IAR  ti.sysbios.knl.Task Basic window we  see  :

i.e. ti.sysbios.knl.Task.idleTask is not exists.

In this case in the scope we see picks every 3 sec

Q: What is the right configuration of the Idle Task if we want to gain  power savings provided by the Power
    ? module.

WL1805MOD: WLAN_IRQ usage

$
0
0

Part Number:WL1805MOD

Hi,

Where can we find more details of the WLAN_IRQ usage

The manual mentions that WLAN_IRQ is used to signal HOST on many events
all kind of asynchronous messages.

Please let us know if there are more details on the usage
of this WLAN_IRQ , like how and where it is used.

Best Regards
Kummi

RM48L530: RM48L530

$
0
0

Part Number:RM48L530

Dear sir / madam,

I would be very grateful if you could check the circuit attached regarding the Oscillator and JTAG interface.

The 2 things I am unsure of are:

  1. OSCILLATOR:
    1. The oscillator we are using is an oscillator module (i.e. for better reliability) which has a single output which I have connected to OSCIN. Thus OSCOUT and KELVIN-GND are unconnected.
    2. We are using a 5V oscillator output which step down to 3.3V level using a potential divider (this has worked ok before on a PIC 3V3 micro)/
  2. JTAG INTERFACE
    1. The reset from the JTAG device is connected to the warm reset (nRST) of the micro is that correct?
    2. On other micro's we have connected this to the reset pin as there is usually only one. In this case could it be connected to the power on reset (nPORRST)?

p.s. I have based the design on the RM48 HDK development board.

Many thanks

Brendan Johnson

(Please visit the site to view this file)

CC2640R2F: Direct Testmode

$
0
0

Part Number:CC2640R2F

Hi,  we bought a Low energy CC2640R2F wireless MCU LaunchPad & Boostxl-Rs232. Now I want to set it into direct testmode (BT 5)
I guess I did it last time ( older development kit from TI) with btool and loaded a hex file for DTM.

I am not capable to get a connection with btool to the board. With the old board it is no problem (Settings: HCI, 57kBaud, RTS/CTS)

What are the setting to communicate with the board ? And how can I set teh board into direct Testmdode.

Thanks in advance

Linux/TCI6638K2K: TIC6638K2K upgrade to the linux4.9 kernel, HyperLink peripherals by default enabled, the normal default should not be enabled

$
0
0

Part Number:TCI6638K2K

Tool/software: Linux

Problem Description:

My device used to use SDK3.0, I recently upgraded all the environment to the SDK4.0. Which kernel upgrade to 4.9, the device tree to modify some of the settings, but did not modify the uio and hyperlink related settings. The problem now is that when I run the program, I find that when I have not configured hyperlink, hyperlink peripherals have been enabled (through the CSL library function detection).

Question:

Linux system will affect hyperlink? Where should i to loaction this bug?

Thanks!!!

RTOS/LAUNCHXL-CC1310: Problem with RX filtering

$
0
0

Part Number:LAUNCHXL-CC1310

Tool/software:TI-RTOS

Hi,

 I'm using EasyLink with 4 byte addresses. I want to filter packets at Rx based on the destination address. I tried using the following code, but this wouldn't work. Am I missing anything?

EasyLink_Status init_rx(void)
{
    EasyLink_init(EasyLink_Phy_625bpsLrm);

    EasyLink_setCtrl(EasyLink_Ctrl_AddSize, 4);

    uint32_t addrFilter = get_my_address();
   EasyLink_enableRxAddrFilter((uint8_t *) (&addrFilter), 4, 1);

 }

void rcv(void) {

init_rx();

While(1) {

    rxPacket.absTime = 0;
    EasyLink_Status result = EasyLink_receive(&rxPacket);

process_packet(rxPacket);

}

}

Tx Side

EasyLink_Status ra_phy_init_tx(void)
{

    EasyLink_init(EasyLink_Phy_625bpsLrm);
    /* Set output power to 12dBm */
    EasyLink_setRfPwr(12);

    EasyLink_setCtrl(EasyLink_Ctrl_AddSize, 4);

}

void send((EasyLink_TxPacket *p, uint32_t dest, uint8_t *data,
                          uint16_t datalength)
{
    memcpy(p->dstAddr, &dest, 4);

    if (data != NULL)
    {
        memcpy(p->payload, data, datalength);
    }

    p->absTime = 0;

    p->len = datalength;

   EasyLink_transmit(&txPacket);

}

Stripped off some code for easy readability. Data is totally filtered. Nothing is reaching on the other rx side.

If I remove EasyLink_setCtrl() on both sides, data is received, but no filtering is being applied. May be because of 1 byte filtering is not enough.

Thanks in advance for any suggestions.

Vamsi


Audio codec select

$
0
0

Hi Ti,

I need a audio codec, which suitable chip replacement for CX20709? Please help to recommend.

In addition, DSP is programmable, Is there any standard code reference for the audio algorithm? Thanks~

ADS1115: floating differential measurement, channel-to-channel voltage limits?

$
0
0

Part Number:ADS1115

Hello all

I want to use a ADS1115 to perform two differential measurements of a floating system. The system is a photovoltaic test bench, basically a PV cell connected to a variable resistor with a shunt and a voltage divider to perform current and voltage measurements. It's meant as a demonstration tool, so speed or high accuracy is not of any particular concern.

The resistance values in the diagram are illustrative.

The photovoltaic cell can be inserted both ways, so the measurement needs to be differential. The analog inputs stay connected to the circuit.

My question is regarding to the channel-to-channel voltage limits of the ADS1115, particularly of the internal MUX switch. As you can see in the diagram, while the voltage between the two differential inputs stay well within the limits (1V), the voltage between the two differential input pairs can reach up to 30V. Is this within the limits of the MUX switch? In the datasheet I only found the channel-to-ground limit values, but the measured circuit is floating so that should be okay.

TLV320AIC3204: Routing I2S Audio to the Headphones

$
0
0

Part Number:TLV320AIC3204

Hi there,

I'm currently trying to set up a system that will output audio sent from my micro to the headphone. I'm currently struggling to work out how to configure the registers to output the I2s stream to the headphone. I've already configured the codec to output the left Mic to the headphones but I can't work out what to change to get it to output from the I2S.

	{  0, 0x01 },	/* ***** SELECT PAGE 1 ***** */
	{  9, ( (uint8_t)P1R9_MAR_POWER_UP |
			(uint8_t)P1R9_MAL_POWER_UP ) },
	{ 12, ( (uint8_t)P1R12_MAL_ROUTED_TO_HPL ) },
	{ 13, ( (uint8_t)P1R13_HPL_OUTPUT_ROUTED_TO_HPR ) },
	{ 16, ( (uint8_t)P1R16_HPL_DRIVER_NOT_MUTED |
			(uint8_t)( 0 ) ) },		/* HPL Gain set to 0dB */
	{ 17, ( (uint8_t)P1R17_HPR_DRIVER_NOT_MUTED |
			(uint8_t)( 0 ) ) },		/* HPR Gain set to 0dB */
	{  9, ( (uint8_t)P1R9_MAR_POWER_UP |
			(uint8_t)P1R9_HPL_POWER_UP |
			(uint8_t)P1R9_HPR_POWER_UP |
			(uint8_t)P1R9_MAL_POWER_UP ) },
	{  0, 0x00 },	/* ***** SELECT PAGE 0 ***** */

Thanks for any advice.

TMS320F28377D: eCAP rising edge detection

$
0
0

Part Number:TMS320F28377D

Hi all,

I use GPIO24 as eCAP input pin and configure eCAP for rising edge event, should I follow electrical parameters of GPIO24? The minimum VIH = 2.0V and maximum VIL = 0.8V?

If the answer of statement above is positive, I will have the questions below,

  • Does it mean when the voltage input on GPIO24 change from 0V to 2.0V, it will have an eCAP event?
  • Is there any voltage rising time spec?
  • No eCAP hysteresis, is this correct?

Please advise your idea if any, thanks.

 

Regards,

Luke

Compiler/TMS320F28377S: pragma FUNCTION_OPTIONS not overriding project flags

$
0
0

Part Number:TMS320F28377S

Tool/software: TI C/C++ Compiler

Hi,

I am using compiler TI v15.12.1.LTS for the F28377s, and CCS 7.0.x.  I have a function containing a loop that I have hand optimized with NOPs to execute in exactly 250 clocks.  So I would like to be able to modify the project's compiler optimizations while holding this function with no optimizations so my loop remains constant.  However, whether I set the project to -O0 and the FUNCTION_OPTIONS pragma to

#pragma FUNCTION_OPTIONS (send_led_data, "--opt_level=3")

or vice-versa, it appears that the function send_led_data is still being compiled with the project's -Ox flag and the pragma is ignored.  Perhaps I am missing some other setting to make FUNCTION_OPTIONS work?

Thanks, dave

Viewing all 262198 articles
Browse latest View live