This is not processor-related, so I will move it to the Linux forum.
↧
Forum Post: RE: u-boot calculate checksum for uImage, rootfs before load
↧
Forum Post: How to check the PRU functionality in WinCE 7 for AM335x??
Dear Developers, Greetings!! As, I have already seen that there is support from TI side for PRU. http://processors.wiki.ti.com/index.php/WinCE-BSP_ARM-A8_User_Guide#PRU_Driver dadasdadadad I am using AM335x BSP for Wince7 and I have seen that the pru functionality is there under CSP/COMMON_TI_VI/AM33x/PRU and when I compile that I can that its generating the corresponding library. Now I have a project in under Driver/PRU/ce_pru_driver that contains .def file, sources file and makefile .def file contains the below code: ; ; Copyright (c) Microsoft Corporation. All rights reserved. ; ; ; Use of this source code is subject to the terms of the Microsoft end-user ; license agreement (EULA) under which you licensed this SOFTWARE PRODUCT. ; If you did not accept the terms of the EULA, you are not authorized to use ; this source code. For a copy of the EULA, please see the LICENSE.RTF on your ; install media. ; ; LIBRARY prudrvr EXPORTS PRU_Init PRU_Deinit PRU_Open PRU_Close PRU_Read PRU_Write PRU_Seek PRU_PowerUp PRU_PowerDown PRU_IOControl ; PRU_DRV_getInstHandle ; PRU_DRV_releaseInstHandle ; PRU_DRV_configBaudRate ; PRU_DRV_configWordSize ; PRU_DRV_transmit ; PRU_DRV_receive ; PRU_DRV_registerIrqCallback ; PRU_DRV_stopTx ; PRU_DRV_getLineStatus sources file contains the following code: !if 0 Copyright (c) MPC Data Limited 2011. All rights reserved. !endif !IF "$(BSP_PRU)" != "1" SKIPBUILD=1 !ENDIF TARGETNAME=prudrvr RELEASETYPE=PLATFORM TARGETTYPE=DYNLINK SYNCHRONIZE_DRAIN=1 CDEFINES=$(CDEFINES) -D__GNUC__ DEFFILE=prudrvr.def DLLENTRY=DllEntry SOURCELIBS= \ $(_PLATCOMMONLIB)\$(_CPUINDPATH)\pru_ce_driver.lib \ $(_PLATCOMMONLIB)\$(_CPUINDPATH)\pru_hal_uart.lib \ $(_PLATCOMMONLIB)\$(_CPUINDPATH)\pru_hal_common.lib \ TARGETLIBS=\ $(SG_OUTPUT_ROOT)\sdk\lib\$(_CPUINDPATH)\coredll.lib \ $(_PLATLIB)\$(_CPUDEPPATH)\ceddk.lib \ SOURCES= But when I compile the code of ce_pru_driver, I am facing the compilation issue as : UILD: [00:0000000648:WARNN ] C:\WINCE700\platform\AM335xPhytec\SRC\DRIVERS\PRU\ce_pru_driver\: Missing source file: C:\WINCE700\OSDesigns\KT\KT\Wince700\AM335xPhytec_ARMV7_Retail\cesysgen\platcomm\AM335xPhytec\lib\ARMV7\retail\pru_hal_uart.lib. BUILD: [00:0000000649:WARNN ] C:\WINCE700\platform\AM335xPhytec\SRC\DRIVERS\PRU\ce_pru_driver\: Missing source file: C:\WINCE700\OSDesigns\KT\KT\Wince700\AM335xPhytec_ARMV7_Retail\cesysgen\platcomm\AM335xPhytec\lib\ARMV7\retail\pru_hal_common.lib. BUILD: [00:0000000650:PROGC ] Building EXPLIB Pass in C:\WINCE700\platform\AM335xPhytec\SRC\DRIVERS\PRU\ce_pru_driver\ directory. BUILD: [00:0000000671:PROGC ] Building EXPLIB Pass in C:\WINCE700\platform\AM335xPhytec\SRC\DRIVERS\NLED\ directory. BUILD: [00:0000000676:PROGC ] Building EXPLIB Pass in C:\WINCE700\platform\AM335xPhytec\SRC\DRIVERS\DCAN\ directory. BUILD: [01:0000000706:ERRORE] Error(s) in directory "C:\WINCE700\platform\AM335xPhytec\SRC\DRIVERS\PRU\ce_pru_driver\". BUILD: [01:0000000707:ERRORE] NMAKE : fatal error U1073: don't know how to make 'C:\WINCE700\OSDesigns\KT\KT\Wince700\AM335xPhytec_ARMV7_Retail\cesysgen\platcomm\AM335xPhytec\lib\ARMV7\retail\pru_ce_driver.lib' I dont know what is missing and where???
↧
↧
Forum Post: driver of CC1200 for linux
i want to get driver of CC1200 for linux, can you help me thanks!
↧
Forum Post: Problems of Starterware example "enetLwip" on AM3359 ICE v2
Hi. I'm using the board "AM3359 ICE v2", CCS version is 6.1.1. I have some questions about enetLwip example in am335x_ sysbios _ind_sdk. host pc and ice board are connected as below. host pc ---------------------------------┌────────────┐ am3359 ice board port1 ----------│ D-Link Switch Hub │ am3359 ice board port2 ----------└────────────┘ This example is implemented in order to use 1 port ethernet(but it appear to be expandable to 2port). It works correctly without any modification. But, I'd like to use 2 port ethernet(assign different IP at each port). So, I modified some codes. 1. I defined CPSW_DUAL_MAC_MODE at "lwip_static/arc/include/lwip/lwipopts.h" in order to use dual mac mode. 2. I defined "CPSW0_PORT_2_PHY_ADDR 3" and "CPSW0_PORT_2_PHY_GIGABIT FALSE" under the line 74 at "lwip_static/ports/cpsw/include/netif/cpswif.h" 3. I added codes as below. EVMMACAddrGet(1, lwipIfPort2.macArray); lwipIfPort2.instNum = 0; lwipIfPort2.slvPortNum = 2; lwipIfPort2.ipAddr = STATIC_IP_ADDRESS_PORT2; //(it could be changed to 0 in order to use dhcp) lwipIfPort2.netMask = 0; lwipIfPort2.gwAddr = 0; lwipIfPort2.ipMode = IPADDR_USE_STATIC; //(it could be changed to IPADDR_USE_DHCP in order to use dhcp) ipAddr2 = lwIPInit(&lwipIfPort2); As a result of aboves, the followings appeared. 1. port1 works correctly regardless of modification to expand 2ports. (both dhcp and static) 2. port2 could be assigned ip address only in case of static mode. but ping doesn't work.(from host pc to port2 of ice board) 3. port2 couldn't be assigned ip in case of dhcp mode. it seems that it can't negotiate with switch hub. What can i fix to use 2-port ethernet in this example? Thanks.
↧
Forum Post: RE: RTOS CC2650 i2c Problem
Hello: If I want to use another sensor to connect SmartRf06+CC2650EM : Can I modify i2ctemp006 sample code ?
↧
↧
Forum Post: CC2650 PWM
I am using CC2650 on SmartRF06 EB. My question is whether you have a CC2650-specific driver implementation of PWM for my board. Could I find an example for the same? I am using TI RTOS 2.14
↧
Forum Post: RE: beaglebone and uart 1 using starterware
hi Don Sorry,I can not share my source code ,because it is confidential information of my company. But I can give you some tips: 1.UARTStdioInitExpClk() almost do the same thing as uart0 for uart1-5 if you only use 115200 Baudrate; 2.the clock domain is the significant things,because the clock-domain of uart0 is different from the uart1-5's. I suggest that you can use the "ClockTreeT-AM335X1.0_v2.0.0.0" to confirm the clock-signal that you need. (you said uart1/2/3 can work well under CCS but don't under GNU , I think it is due to the clock-domain problem) I hope that can give you some help under GNU.Good luck
↧
Forum Post: RE: Problems with I2C after IND SDK upgrade
Thanks for your reply, but I have already managed to port the I2CWrite function from the older IND SDK forward and am using that, which fixed my problem. Unfortunately, I have quite a bit more development to do, so I don't have time to attempt to isolate the problem further right now.
↧
Forum Post: Sharing DRM buffers across process
Hi, I need to share DRM buffers across 2 processes. I am allocating Bo using omap_bo_new API. In my current implementation I am allocating omap_bo in one process and updating its content. From the second process I am referring to same omap_bo allocated in the previous process.What I have observed is mapped bo content is always having some junk values. Is this the right method for sharing DRM buffers? Any suggestions would be greatly appreciated. Thanks in advance Thushara
↧
↧
Forum Post: CPU Load doesn't match expected value
Hello, i am trying to measure the CPU load of my application on a TMDXEVM6678L Board. There is only 1 task, which is waiting (blocking) for input data (MessageQ_get()), process it, and waits for the next amount of data in a loop. I am acquiring data with following options in my .cfg file: LoggingSetup.sysbiosTaskLogging = false; LoggingSetup.sysbiosTaskLoggingRuntimeControl = false; LoggingSetup.mainLoggingRuntimeControl = false; LoggingSetup.mainLogging = false; LoggingSetup.sysbiosLoggerSize = 0; LoggingSetup.mainLoggerSize = 0; Load.swiEnabled = false; Load.taskEnabled = true; Load.windowInMs = 10; LoggingSetup.loadLoggerSize = 16384; LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGRUNMODE; So i suppose the CPU Load to be something around 100% when processing data, and something around 0% when waiting for data. The task load of that task is in line with my assumptions, but the CPU load seems to be around 55% when the task is waiting for new data (see attached picture). Is the high CPU load in Idle time related to the blocking waiting for new data or what could be the reason for that? Best Regards, Florian Grützmacher
↧
Forum Post: RE: u-boot calculate checksum for uImage, rootfs before load
Hi Phien, Could you specify which uboot version you are using? If you are using some of the newer releases check the ../uboot /common/image.c file for image checksum and loading. BR Tsvetolin Shulev
↧
Forum Post: (e)MMC support in the Sitara sysbios starterware SDK
Where can I get an example of the Sitara MMC / eMMC driver for sysbios starterware? Nothe than the initialization procedure for the SD card and MMC / eMMC is different and the SD card initialization procedure is not fit the MMC In both sysbios SDK versions (1.1.0.8 and 2.1.1.2) I have, there are the CardInit() functions: the MMCSDCardInit and MMCSDLibCardInit. In both, however, the MMC case is not processed and is considered error. The relevant code, in both, is like this: /* Returns 1 for a SD card, 0 for a non-SD card */ status = MMCSDCardTypeCheck(ctrl); if (status == 1) /* SD Card */ { : // SD card initialization code : } else { return 0; //ERROR } This code is clearly shows that the MMC is not supported, while some provisions are exists. Where can I find the MMC support SW code? Thanks in advance Ilia.
↧
Forum Post: RE: Problems of Starterware example "enetLwip" on AM3359 ICE v2
Hi Kijoong Kim In the latest the SYSBIOSSDK-IND-SITARA: SYSBIOS Industrial Software Development Kit (SDK) for AM335x and AM437x (ver 2.1.1.2 as of this date) this is available at www.ti.com/.../sysbiossdk-ind-sitara there is a dual mac example that is named Ethernet MAC . This example is PRU-ICSS based and not CPSW based. The example uses the ICSS EMAC LLD. There is a ICSS EMAC LLD developer Guide at processors.wiki.ti.com/.../ICSS_EMAC_LLD_developers_guide There is also a ICSS EMAC LLD Debugger Guide at processors.wiki.ti.com/.../ICSS_EMAC_LLD_debug_guide SYSBIOSSDK-IND-SITARA is the active industrial Development SDK path. SYSBIOSSDK-IND-AM335X is the older SDK path that has recently received some updates to support existing customers. David
↧
↧
Forum Post: RE: driver of CC1200 for linux
Hi Huawei fu, I could not suggest you a complete decision for the CC1200 RF transceiver linux driver but you can use the software example at the CC1200 product page: www.ti.com/.../toolssoftware or a CC1200 / CC1201 Driver from GitHub: github.com/.../cc120x Also ones the CC1200 is configured you could use the SPI communication between CC1200 and linux based system. BR Tsvetolin Shulev
↧
Forum Post: RE: (e)MMC support in the Sitara sysbios starterware SDK
Ilia, eMMC support is planned for an upcoming release. In the meantime, the community has made some changes to the existing driver to support eMMC. This might be of help to you till its integrated into a release. Lali
↧
Forum Post: RE: AM335x GPMC Timing Optimal Settings
Titus, I've followed the guides you posted, as well as checked out the TRM for the AM335x and Micron's manual for my memory model. I've arrived at the following configurations: static struct gpmc_timings am335x_nand_timings = { .sync_clk = 0, .cs_on = 0, .cs_rd_off = 40, .cs_wr_off = 30, .adv_on = 0, .adv_rd_off = 40, .adv_wr_off = 30, .we_off = 10, .oe_off = 20, .access = 20, .rd_cycle = 40, .wr_cycle = 30, //Not used on AM335x .wr_access = 0, .wr_data_mux_bus = 0, }; With these, my board boots just fine. However, it is my understanding that I should try to set my timing equal to, or greater than the minimum recommended by the manufacturer. This is where things get tricky: the manual says that the minimum WE# pulse width is 12ns when Vcc = 1.8V (p. 77), which, I believe, is controlled by setting we_off. However, my board only boots if we_off = 10. I've looked everywhere in the manuals trying to find some limitation to we_off based on the other values, but had no luck. What am I missing? Is my interpretation correct? Regards, Guilherme
↧
Forum Post: Timer_start() does not reset the counter
TI-RTOS for CC13xx version 2.15.00.17 SYS/BIOS version 6.45.00.20 I am attempting to use a one shot timer sequentially with different period settings. After my first timer interrupt I reconfigure as follows: Timer_stop(timerHandle); Timer_setPeriodMicroSecs(timerHandle, 700); Timer_start(timerHandle); The period gets changed but the timer count starts from the previous value. The API document states that Timer_start() will " Reload and start the timer ". Stepping into the Timer_start() function I find the following. The comment states that step 2 is to clear the counters but there is no code to do this. /* * ======== Timer_start ======== * 1. Hwi_disable(); * 2. Clear the counters * 3. Clear IFR * 4. Enable timer interrupt * 5. Start timer * 6. Hwi_restore() */ Void Timer_start(Timer_Object *obj) { UInt key; key = Hwi_disable(); if (obj->hwi) { Hwi_clearInterrupt(obj->intNum); Hwi_enableInterrupt(obj->intNum); } if (obj->extFreq.lo) { Hwi_nvic.STCSR |= 0x1; /* start timer, select ext clock */ } else { Hwi_nvic.STCSR |= 0x5; /* start timer, select int clock */ } Hwi_restore(key); }
↧
↧
Forum Post: RE: Disabling System_printf when compiling for release mode
Thanks Ramsey for the response. I am building the application with a makefile. I think what may have been causing my application to halt was the IAR semihosting linker option (--semihosting=iar_breakpoint), which was still used when building the release image. After removing this option from the linker command line, I then got a linker error saying that the __write function was unresolved ( this issue was dealt with in this post ). Instead of implementing the __write function, in release mode, I switched the System.SupportProxy in the cfg file to use SysCallback and implemented the five necessary functions, which now send the System_printf data out one of the UART ports (or optionally do nothing with the System_printf data). After doing this, my application now runs on the LaunchPad without halting after programming it using the LM Flash Programmer utility. I used your method for setting up the cfg file for different build types. if (Program.build.cfgArgs.profile == "debug") { // used when running in a debug environment var SysMin = xdc.useModule('xdc.runtime.SysMin'); System.SupportProxy = SysMin; SysMin.bufSize = 256; TIRTOS.libType = TIRTOS.LibType_Instrumented; BIOS.libType = BIOS.LibType_Custom; BIOS.assertsEnabled = true; BIOS.logsEnabled = true; } else { // used when running without a debugger attached var SysCallback = xdc.useModule('xdc.runtime.SysCallback'); System.SupportProxy = SysCallback; SysCallback.abortFxn = "&MyPrintfAbort"; SysCallback.exitFxn = "&MyPrintfExit"; SysCallback.flushFxn = "&MyPrintfFlush"; SysCallback.putchFxn = "&MyPrintfPutch"; SysCallback.readyFxn = "&MyPrintfReady"; TIRTOS.libType = TIRTOS.LibType_NonInstrumented; BIOS.libType = BIOS.LibType_NonInstrumented; BIOS.assertsEnabled = false; BIOS.logsEnabled = false; } The one question I have is whether it is possible to prevent System_printf from ever being called within NDK/SYS/BIOS to avoid the overhead of the call, or to remove all traces of System_printf. I thought I saw that by removing the following lines from the cfg file, var System = xdc.useModule('xdc.runtime.System'); var SysMin = xdc.useModule('xdc.runtime.SysMin'); and using the following, this would globally remove System_printf. But it doesn’t appear to be the case. TIRTOS.libType = TIRTOS.LibType_NonInstrumented; BIOS.libType = BIOS.LibType_NonInstrumented; BIOS.assertsEnabled = false; BIOS.logsEnabled = false; Do I just have to live with System_printf being called if using NDK/SYS/BIOS? Thanks, sf
↧
Forum Post: RE: Analog to Digital an a cc2650
Any TI staff over there? I can't believe that nobody over there can't help us. Making an analog measurement for the cc2650 should be as elementary as breathing. We have been using the dialog chip and it was straight forward. How come there is no simple and documented solution for that.
↧
Forum Post: AM3352 USB connect/disconnect as a device on Linux
I 'm fairly new to Linux drivers, and have a similar question as in this post , but on an AM3352 I've got my board configured as a USB gadget serial device. When I connect to a host, I can see the diagnostic message "g_serial gadget ..." on the console. How do I capture this in some way so my application knows when the host is connected? Likewise, how do I configure and capture the "host disconnected" status. It should be possible via detecting the change in the DEVCTL_VBUS status, but I'm unsure of how to monitor that bit in user space. Thanks, Peter Steinberg
↧