Part Number: AM4376 Tool/software: TI-RTOS Hello, I would like to run the diagnostic examples on a custom board. Here is what I did so far : I updated the DDR3 configurations in the GEL files and I managed to run a "hello_world()" on the custom board through JTAG. But an app using RTOS (i.e : rtos_template_app_am437x_a9) doesn't work unless I comment BIOS_start();. I changed the Pinmux of the idkAM437x board library with our board's configurations using the Pinmux utility as described in the following : Then I setup the pdk : C:/ti/pdk_am437x_1_0_14/packages>pdksetupenv.bat "C:/ti/pdk_am437x_1_0_14/packages" Then I build the board libraries : C:/ti/pdk_am437x_1_0_14/packages>pdksetupenv.bat "C:/ti/pdk_am437x_1_0_14/packages" C:/ti/pdk_am437x_1_0_14/packages>gmake board_lib_clean C:/ti/pdk_am437x_1_0_14/packages>gmake board lib Then I build the bootloader : C:/ti/pdk_am437x_1_0_14/packages>gmake starterware bootloader After that I create the diagnostic app SD card loadable files C:/ti/pdk_am437x_1_0_14/packages/ti/board/diag>gmake idkAM437x_sd I copied all of the generated binaries to my sd card (which has been made bootable) Then, the documentation says that I should copy the MLO located in /packages/ti/boot/sbl/binary/ /mmcsd to my SD card But the boot folder doesn't exist. So I rename bootloader_boot_mmcsd_a9host_debug_ti.bin to MLO and copy it to my SD card. I insert it in my board, connect teraterm to the board's UART console, power on the board and press the hard reset button but nothing happens. The Sysboot pins configuration says that the valid booting devices are MMCSD and QSPI. Am I doing something wrong ? Or did I miss something ? I use : CCS 8.3 sdk rtos 5.03.00.07 pdk am437x 1.0.14 Windows 10 OS Regards, Gilles
↧
Forum Post: RTOS/AM4376: Can't run the diagnostic examples on custom board
↧
Forum Post: RTOS/EVMK2G: Is there a working example for using McASP with onboard CODEC?
Part Number: EVMK2G Tool/software: TI-RTOS Hello, I'm trying to get up and running on a new EVMK2G . I've been able to run the basic Hello World stuff, but I've been unable to get an McASP demo working from the PDK directory. I used pdkprojectcreate to generate the McASP demo projects. I've been focusing on the MCASP_Audio_ evmK2G _armExampleProject. It compiles and runs, but doesn't do anything. A quick look at the code reveals this: #if defined (SOC_J721E) Task_Params taskParams; Task_Handle taskHandle; Error_Block eb; Task_Params_init(&taskParams); taskParams.stackSize = 0x4000; taskParams.priority = 5; taskParams.instance->name = "Audio_echo_Task"; taskHandle = Task_create((ti_sysbios_knl_Task_FuncPtr)Audio_echo_Task, &taskParams, &eb); if (NULL == taskHandle) { Log_info0("\r\nFailed to create Audio echo task!\n"); BIOS_exit(0); } #endif So, on a K2G, the task initializing code gets ifdefed out. Getting rid of the ifdef/endif results in code that compiles, but task create fails with a memory error: [CortexA15] ti. sysbios .heaps.HeapMem: line 221: out of memory: handle=0x80042d2c, size=16384 xdc.runtime.Memory: line 52: out of memory: heap=0x0, size=16384 I haven't yet dug into it to see what's going on, but I'm hoping there's a working example out there I can start with? I can only findaudio examples using the audio daughter board, which I currently don't have (and don't really need - stereo in/out is all I need).
↧
↧
Forum Post: AM3352: Sitara Device/Family longevity?
Part Number: AM3352 Is there a Sitara road-map, including estimated EOL dates, for public consumption? We've used the AM335x family for awhile now and would like to verify whether TI may have a different family suggestion for an industrial device needing 10+ years of product life? Thanks ... Jim
↧
Forum Post: 66AK2H12: How to realize C66x core exclusive control
Part Number: 66AK2H12 Hi Champs, We would like to realize C66x multi core exclusive control. Can we realize C66 core to core exclusive contriol using SYS/BIOS Mutex (GateMutex _enter/GateMutex_leave function) ? If we can't use this "Mutex relate function", do you have any other API ?
↧
Forum Post: Linux/AM5728: Cannot run Qt apps for platform linuxfb with DRM
Part Number: AM5728 Tool/software: Linux I'm using the AM572x EVM, PLSDK = 05.02.00.10 using both the HDMI and on board LCD. We would like to run our application using linuxfb for various performance reasons, with two applications running full screen, one on the LCD and one on the HDMI. We are working on a custom board and will migrate to two LCD outputs. I read in a related post that fbdev is deprecated and to use DRM instead. However, any Qt application I run will crash when I try this. Below is the Qt debug output and my modetest output. Any advice on what I am doing wrong? # export QT_LOGGING_RULES=*=true # export QT_QPA_FB_DRM=1 # /usr/share/qt5/examples/widgets/dialogs/tabdialog/tabdialog -platform linuxfb qt.qpa.eglfs.kms: Loading KMS setup from "/etc/qt5/eglfs_kms_cfg.json" qt.qpa.eglfs.kms: Requested configuration (some settings may be ignored): hwcursor: false pbuffers: true separateScreens: false virtualDesktopLayout: 0 outputs: QMap(("HDMI1", QMap(("mode", QVariant(QString, "1366x768"))("name", QVariant(QString, "HDMI1"))("touchDevice", QVariant(QString, "/dev/input/event2"))("virtualIndex", QVariant(double, 1))))("UNKNOWN1", QMap(("mode", QVariant(QString, "800x480"))("name", QVariant(QString, "UNKNOWN1"))("touchDevice", QVariant(QString, "/dev/input/event1"))("virtualIndex", QVariant(double, 0))))) qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card0 qt.qpa.fb: DRM device /dev/dri/card0 opened qt.qpa.eglfs.kms: "UNKNOWN1" mode count: 1 qt.qpa.eglfs.kms: mode 0 800 x 480 @ 60 hz qt.qpa.eglfs.kms: Selected mode 0 : 800 x 480 @ 60 hz for output "UNKNOWN1" getPlane: Plane for crtc 39 not found qt.qpa.eglfs.kms: "HDMI1" mode count: 1 qt.qpa.eglfs.kms: mode 0 1366 x 768 @ 60 hz qt.qpa.eglfs.kms: Selected mode 0 : 1366 x 768 @ 60 hz for output "HDMI1" getPlane: Plane for crtc 47 not found qt.qpa.eglfs.kms: Sorted screen list: QVector() Segmentation fault (core dumped) # modetest trying to open device 'i915'...failed trying to open device 'amdgpu'...failed trying to open device 'radeon'...failed trying to open device 'nouveau'...failed trying to open device 'vmwgfx'...failed trying to open device 'omapdrm'...done Encoders: id crtc type possible crtcs possible clones 34 39 TMDS 0x00000001 0x00000000 40 0 TMDS 0x00000002 0x00000000 Connectors: id encoder status name size (mm) modes encoders 35 34 connected DPI-1 0x0 1 34 modes: name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot) 800x480 60 800 1010 1040 1056 480 502 515 525 33000 flags: nhsync, nvsync; type: preferred, driver props: 1 EDID: flags: immutable blob blobs: value: 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 41 0 connected HDMI-A-1 340x190 1 40 modes: name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot) 1366x768 60 1366 1406 1438 1456 768 771 777 793 69300 flags: nhsync, nvsync; type: preferred, driver props: 1 EDID: flags: immutable blob blobs: value: 00ffffffffffff0006afec1000000000 001601049022137802bbf59455549027 23505400000001010101010101010101 010101010101121b565a500019302820 360058c1100000180000000f00000000 00000000000000000020000000fe0041 554f0a202020202020202020000000fe 004231353658545430312e30200a004a 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 CRTCs: id fb pos size 39 60 (0,0) (800x480) 800x480 60 800 1010 1040 1056 480 502 515 525 33000 flags: nhsync, nvsync; type: preferred, driver props: 23 CTM: flags: blob blobs: value: 24 GAMMA_LUT: flags: blob blobs: value: 25 GAMMA_LUT_SIZE: flags: immutable range values: 0 4294967295 value: 256 30 background: flags: range values: 0 16777215 value: 0 31 trans-key-mode: flags: enum enums: disable=0 gfx-dst=1 vid-src=2 value: 0 32 trans-key: flags: range values: 0 16777215 value: 0 33 alpha_blender: flags: range values: 0 1 value: 0 37 rotation: flags: bitmask values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20 value: 1 27 zorder: flags: range values: 0 3 value: 0 47 0 (0,0) (0x0) 0 0 0 0 0 0 0 0 0 0 flags: ; type: props: 23 CTM: flags: blob blobs: value: 24 GAMMA_LUT: flags: blob blobs: value: 25 GAMMA_LUT_SIZE: flags: immutable range values: 0 4294967295 value: 256 30 background: flags: range values: 0 16777215 value: 0 31 trans-key-mode: flags: enum enums: disable=0 gfx-dst=1 vid-src=2 value: 0 32 trans-key: flags: range values: 0 16777215 value: 0 33 alpha_blender: flags: range values: 0 1 value: 0 43 rotation: flags: bitmask values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20 value: 1 27 zorder: flags: range values: 0 3 value: 0 Planes: id crtc fb CRTC x,y x,y gamma size possible crtcs 36 39 60 0,0 0,0 0 0x00000003 formats: RX12 AR12 RG16 XR24 RG24 AR24 RA24 RX24 AR15 XR12 RA12 XR15 props: 6 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 1 37 rotation: flags: bitmask values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20 value: 1 27 zorder: flags: range values: 0 3 value: 0 38 zpos: flags: range values: 0 3 value: 0 28 global_alpha: flags: range values: 0 255 value: 255 29 pre_mult_alpha: flags: range values: 0 1 value: 0 42 0 0 0,0 0,0 0 0x00000003 formats: RG16 RX12 YUYV AR15 RA24 NV12 RA12 XR24 RG24 UYVY AR12 XR15 AR24 XR12 RX24 props: 6 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 1 43 rotation: flags: bitmask values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20 value: 1 27 zorder: flags: range values: 0 3 value: 0 44 zpos: flags: range values: 0 3 value: 0 28 global_alpha: flags: range values: 0 255 value: 255 29 pre_mult_alpha: flags: range values: 0 1 value: 0 48 0 0 0,0 0,0 0 0x00000003 formats: RG16 RX12 YUYV AR15 RA24 NV12 RA12 XR24 RG24 UYVY AR12 XR15 AR24 XR12 RX24 props: 6 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 0 49 rotation: flags: bitmask values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20 value: 1 27 zorder: flags: range values: 0 3 value: 2 50 zpos: flags: range values: 0 3 value: 2 28 global_alpha: flags: range values: 0 255 value: 255 29 pre_mult_alpha: flags: range values: 0 1 value: 0 53 0 0 0,0 0,0 0 0x00000003 formats: RG16 RX12 YUYV AR15 RA24 NV12 RA12 XR24 RG24 UYVY AR12 XR15 AR24 XR12 RX24 props: 6 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 0 54 rotation: flags: bitmask values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20 value: 1 27 zorder: flags: range values: 0 3 value: 3 55 zpos: flags: range values: 0 3 value: 3 28 global_alpha: flags: range values: 0 255 value: 255 29 pre_mult_alpha: flags: range values: 0 1 value: 0 Frame buffers: id size pitch
↧
↧
Forum Post: Linux/AM3352: TCA8418 I2C Matrix Keypad Same Key with Multiple Function(Special Character)
Part Number: AM3352 Tool/software: Linux Hi All, We are using AM3352 Processor with TI Staging Linux 4.1.18 and we need help form your side about TCA8418 I2C Matrix Keypad Same Key with Multiple Function. In my product Qwerty key(A-Z, a-z) working properly but Special characters not working.
↧
Forum Post: TMS320VC5409A: Programmer suggestions
Part Number: TMS320VC5409A Can anybody recommend a programmer to program TMS320VC5409A and TMS320C6726 parts? TI won't recommend any since they are NRND. I am trying to make an existing product line continue to function.
↧
Forum Post: Linux/AM4378: Eth1 unplugged stops pings to eth0
Part Number: AM4378 Tool/software: Linux Hi, I am new to the forums, So do apologize if this is a repeat. We have a custom board which was developed of am437x-gp-evm. We are facing an issue with the Ethernet, when I plug eth1 and eth0 both with saperate subnet, I am able to ping the IP address successfully. The moment eth1 is unplugged ping stops to eth0 too. Following is the configuration in my dts file: AM4372 _IOPAD(0x910, PIN_INPUT | MUX_MODE1) /* mii1_rxer */ AM4372 _IOPAD(0x90C, PIN_INPUT | MUX_MODE1) /* mii1_crs */ AM4372 _IOPAD(0x944, PIN_INPUT | MUX_MODE0) /* rmii1_refclk */ AM4372 _IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txen.rgmii1_txen */ AM4372 _IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txd1.rgmii1_txd1 */ AM4372 _IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txd0.rgmii1_txd0 */ AM4372 _IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd1.rgmii1_rxd1 */ AM4372 _IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd0.rgmii1_rxd0 */ /* Slave 2 */ AM4372 _IOPAD(0x858, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_a6.rgmii2_tclk */ AM4372 _IOPAD(0x840, PIN_OUTPUT | MUX_MODE2) /* gpmc_a0.rgmii2_tctl */ AM4372 _IOPAD(0x854, PIN_OUTPUT | MUX_MODE2) /* gpmc_a5.rgmii2_td0 */ AM4372 _IOPAD(0x850, PIN_OUTPUT | MUX_MODE2) /* gpmc_a4.rgmii2_td1 */ AM4372 _IOPAD(0x84c, PIN_OUTPUT | MUX_MODE2) /* gpmc_a3.rgmii2_td2 */ AM4372 _IOPAD(0x848, PIN_OUTPUT | MUX_MODE2) /* gpmc_a2.rgmii2_td3 */ AM4372 _IOPAD(0x85c, PIN_INPUT | MUX_MODE2) /* gpmc_a7.rgmii2_rclk */ AM4372 _IOPAD(0x844, PIN_INPUT | MUX_MODE2) /* gpmc_a1.rgmii2_rtcl */ AM4372 _IOPAD(0x86c, PIN_INPUT | MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */ AM4372 _IOPAD(0x868, PIN_INPUT | MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */ AM4372 _IOPAD(0x864, PIN_INPUT | MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */ AM4372 _IOPAD(0x860, PIN_INPUT | MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */ &mac { pinctrl-names = "default", "sleep"; pinctrl-0 = ; pinctrl-1 = ; dual_emac= ; status = "okay"; }; &davinci_mdio { pinctrl-names = "default", "sleep"; pinctrl-0 = ; pinctrl-1 = ; status = "okay"; }; &cpsw_emac0 { phy_id = , ; phy-mode = "rmii"; dual_emac_res_vlan = ; }; &cpsw_emac1 { phy_id = , ; phy-mode = "rgmii"; dual_emac_res_vlan = ; }; Linux Kernel Version : Linux version 4.14.79 Kernel log of PHY: [ 1.206803] libphy: Fixed MDIO Bus: probed [ 1.283487] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000 [ 1.291188] davinci_mdio 4a101000.mdio: detected phy mask ffffffde [ 1.299354] libphy: 4a101000.mdio: probed [ 1.303400] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720 [ 1.312669] davinci_mdio 4a101000.mdio: phy[5]: device 4a101000.mdio:05, driver Micrel KSZ9031 Gigabit PHY [ 1.323288] cpsw 4a100000.ethernet: Detected MACID = f0:b5:d1:54:be:a0 [ 1.330122] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4 [ 1.336565] cpsw 4a100000.ethernet: ALE Table size 1024 [ 1.341859] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies) [ 1.349724] cpsw 4a100000.ethernet: cpsw: Detected MACID = f0:b5:d1:54:be:a2 ifconfig -a output: eth0 Link encap:Ethernet HWaddr F0:B5:D1:54:BE:A0 inet addr:10.74.127.251 Bcast:10.74.127.255 Mask:255.255.255.192 inet6 addr: fe80::f2b5:d1ff:fe54:bea0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:128 errors:0 dropped:0 overruns:0 frame:0 TX packets:87 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8420 (8.2 KiB) TX bytes:24020 (23.4 KiB) Interrupt:51 eth1 Link encap:Ethernet HWaddr F0:B5:D1:54:BE:A2 inet addr:10.74.125.55 Bcast:10.74.125.255 Mask:255.255.254.0 inet6 addr: fe80::f2b5:d1ff:fe54:bea2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:10495 errors:0 dropped:54 overruns:0 frame:0 TX packets:651 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1070755 (1.0 MiB) TX bytes:61738 (60.2 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:320 errors:0 dropped:0 overruns:0 frame:0 TX packets:320 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:23680 (23.1 KiB) TX bytes:23680 (23.1 KiB) sit0 Link encap:IPv6-in-IPv4 NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 10Mb/s Duplex: Full Port: MII PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: d Wake-on: d Current message level: 0x00000000 (0) Link detected: yes Settings for eth1: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 5 Transceiver: internal Auto-negotiation: on Supports Wake-on: d Wake-on: d Current message level: 0x00000000 (0) Link detected: yes I read the http://processors.wiki.ti.com/index.php/Linux_Core_CPSW_User's_Guide#Dual_Standalone_EMAC_mode but still was not able to come to a conclusion. We want to have the both Ethernet ports eth0 and eth1 work independent of each other. Unpluging eth1 should not effect eth0. Thank you for your response.
↧
Forum Post: 66AK2H06: how to trigger exception manually?
Part Number: 66AK2H06 Hi all, I set a NMI iand enable the external and internal exception by setting register in TSR.GEE. I also hook NMI to an interrupt c code. Now, i want to test if my setup works, how to I trigger an exception? is it possible by doing this in dsp c code side? Regards, Yao-Ting
↧
↧
Forum Post: RTOS/TMS320C6657: DbgPrintf does not print to console
Part Number: TMS320C6657 Tool/software: TI-RTOS Hi, I'm not getting console output when I call the DbgPrintf function while running the NDK 3.40.1.01 on an EVMC6657L board. I'm using SYSBIOS 6.75.2.00 XDC 3.50.8.24_core I've set the debug print level to DBG_INFO in the stack configuration task: rc = DBG_INFO; CfgAddEntry (hCfg, CFGTAG_OS, CFGITEM_OS_DBGPRINTLEVEL, CFG_ADDMODE_UNIQUE, sizeof(uint32_t), (UINT8 *) &rc, 0); I've also tried just calling System_printf( ) directly, from main() and also from a task. If I simply call the printf() function, I do see the output on the console. The console, is viewed through the jtag emulator: My SYSBIOS configuration file is pasted below. I'd appreciate some help in getting this functionality working. Thanks, Jim var Defaults = xdc.useModule('xdc.runtime.Defaults'); var Diags = xdc.useModule('xdc.runtime.Diags'); var Error = xdc.useModule('xdc.runtime.Error'); var Log = xdc.useModule('xdc.runtime.Log'); var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); var Main = xdc.useModule('xdc.runtime.Main'); var Memory = xdc.useModule('xdc.runtime.Memory') var SysMin = xdc.useModule('xdc.runtime.SysMin'); var System = xdc.useModule('xdc.runtime.System'); var Text = xdc.useModule('xdc.runtime.Text'); var BIOS = xdc.useModule('ti. sysbios .BIOS'); var Clock = xdc.useModule('ti. sysbios .knl.Clock'); var Swi = xdc.useModule('ti. sysbios .knl.Swi'); var Task = xdc.useModule('ti. sysbios .knl.Task'); var Semaphore = xdc.useModule('ti. sysbios .knl.Semaphore'); var Hwi = xdc.useModule('ti. sysbios .hal.Hwi'); var Idle = xdc.useModule('ti. sysbios .knl.Idle'); var Timer = xdc.useModule('ti. sysbios .timers.timer64.Timer'); var Timestamp = xdc.useModule('xdc.runtime.Timestamp'); var Cache = xdc.useModule('ti. sysbios .family.c66.Cache'); /* lower half of DDR3 is cached */ Cache.setMarMeta(0x80000000, 0x10000000, 1); /* upper half of DDR3 is non-cached */ Cache.setMarMeta(0x90000000, 0x10000000, 0); var Exception = xdc.useModule('ti. sysbios .family.c64p.Exception'); var CpIntc = xdc.useModule('ti. sysbios .family.c66.tci66xx.CpIntc'); var EventCombiner = xdc.useModule('ti. sysbios .family.c64p.EventCombiner'); var HeapMem = xdc.useModule('ti. sysbios .heaps.HeapMem'); var HeapBuf = xdc.useModule('ti. sysbios .heaps.HeapBuf'); /* ** Use this load to configure NDK 2.2 and above using RTSC. In previous versions of ** the NDK RTSC configuration was not supported and you should comment this out. */ var Ndk = xdc.loadPackage('ti.ndk.config'); var Global = xdc.useModule('ti.ndk.config.Global'); /* ** This allows the heart beat (poll function) to be created but does not generate the stack threads ** ** Look in the cdoc (help files) to see what CfgAddEntry items can be configured. We tell it NOT ** to create any stack threads (services) as we configure those ourselves in our Main Task ** thread hpdspuaStart. */ Global.enableCodeGeneration = false; var Startup = xdc.useModule('xdc.runtime.Startup'); var SysStd = xdc.useModule('xdc.runtime.SysStd'); /* * Uncomment this line to globally disable Asserts. * All modules inherit the default from the 'Defaults' module. You * can override these defaults on a per-module basis using Module.common$. * Disabling Asserts will save code space and improve runtime performance. Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; */ /* * Uncomment this line to keep module names from being loaded on the target. * The module name strings are placed in the .const section. Setting this * parameter to false will save space in the .const section. Error and * Assert messages will contain an "unknown module" prefix instead * of the actual module name. Defaults.common$.namedModule = false; */ /* * Minimize exit handler array in System. The System module includes * an array of functions that are registered with System_atexit() to be * called by System_exit(). */ System.maxAtexitHandlers = 8; /* * Uncomment this line to disable the Error print function. * We lose error information when this is disabled since the errors are * not printed. Disabling the raiseHook will save some code space if * your app is not using System_printf() since the Error_print() function * calls System_printf(). Error.raiseHook = null; */ /* * Uncomment this line to keep Error, Assert, and Log strings from being * loaded on the target. These strings are placed in the .const section. * Setting this parameter to false will save space in the .const section. * Error, Assert and Log message will print raw ids and args instead of * a formatted message. Text.isLoaded = false; */ /* * Uncomment this line to disable the output of characters by SysMin * when the program exits. SysMin writes characters to a circular buffer. * This buffer can be viewed using the SysMin Output view in ROV. SysMin.flushAtExit = false; */ /* * The BIOS module will create the default heap for the system. * Specify the size of this default heap. */ BIOS.heapSize = 0x1000; /* * Build a custom SYS/BIOS library from sources. */ BIOS.libType = BIOS.LibType_Custom; /* System stack size (used by ISRs and Swis) */ Program.stack = 0x2000; /* Circular buffer size for System_printf() */ SysMin.bufSize = 0x200; /* * Create and install logger for the whole system */ var loggerBufParams = new LoggerBuf.Params(); loggerBufParams.numEntries = 16; var logger0 = LoggerBuf.create(loggerBufParams); Defaults.common$.logger = logger0; Main.common$.diags_INFO = Diags.ALWAYS_ON; System.SupportProxy = SysMin; var clock0Params = new Clock.Params(); clock0Params.instance.name = "clock0"; clock0Params.period = 1; clock0Params.startFlag = true; Program.global.clock0 = Clock.create("&GpakSchedulingTimer", 1, clock0Params); Idle.idleFxns[0] = "&GpakIdleTaskFunc"; var HeapMem = xdc.useModule('ti. sysbios .heaps.HeapMem'); var heapMemParams = new HeapMem.Params(); heapMemParams.size = 0x8000; heapMemParams.sectionName = "systemHeap"; Program.global.heap0 = HeapMem.create(heapMemParams); Memory.defaultHeapInstance = Program.global.heap0; Program.sectMap["sharedL2"] = "MSMCSRAM"; Program.sectMap["systemHeap"] = "MSMCSRAM"; Program.sectMap[".sysmem"] = "MSMCSRAM"; Program.sectMap[".args"] = "MSMCSRAM"; Program.sectMap[".cio"] = "MSMCSRAM"; Program.sectMap[".far"] = "MSMCSRAM"; /* Program.sectMap[".rodata"] = "MSMCSRAM"; Program.sectMap[".neardata"] = "MSMCSRAM"; Program.sectMap[".bss"] = "MSMCSRAM"; */ Program.sectMap[".cppi"] = "MSMCSRAM"; Program.sectMap[".init_array"] = "MSMCSRAM"; Program.sectMap[".qmss"] = "MSMCSRAM"; Program.sectMap[".cinit"] = "MSMCSRAM"; Program.sectMap[".const"] = "MSMCSRAM"; Program.sectMap[".text"] = "MSMCSRAM"; Program.sectMap[".code"] = "MSMCSRAM"; Program.sectMap[".switch"] = "MSMCSRAM"; Program.sectMap[".data"] = "MSMCSRAM"; Program.sectMap[".fardata"] = "MSMCSRAM"; Program.sectMap[".args"] = "MSMCSRAM"; Program.sectMap[".cio"] = "MSMCSRAM"; Program.sectMap[".vecs"] = "MSMCSRAM"; Program.sectMap["emacComm"] = "L2SRAM" Program.sectMap[".far:taskStackSection"] = "L2SRAM"; Program.sectMap[".stack"] = "L2SRAM"; Program.sectMap[".far:IMAGEDATA"] = {loadSegment: "L2SRAM", loadAlign: 8}; Program.sectMap[".far:NDK_OBJMEM"] = {loadSegment: "L2SRAM", loadAlign: 8}; Program.sectMap[".far:NDK_PACKETMEM"] = {loadSegment: "L2SRAM", loadAlign: 128}; /* Load the CSL package */ var devType = "c6657"; var Csl = xdc.useModule('ti.csl.Settings'); Csl.deviceType = devType; Csl.useCSLIntcLib = true; /* Load the OSAL package */ var osType = "tirtos" var Osal = xdc.useModule('ti.osal.Settings'); Osal.osType = osType; /* Load the QMSS package */ var Qmss = xdc.loadPackage('ti.drv.qmss'); /* Load the EMAC packages */ var Emac = xdc.loadPackage('ti.drv.emac'); Emac.Settings.socType = devType; var socType = "c6657"; var Nimu = xdc.loadPackage('ti.transport.ndk.nimu'); Nimu.Settings.socType = socType;
↧
Forum Post: RE: RTOS/AM3352: Data read by EMMC2 is inconsistent with data written
Hi, We will review the open issues and fix plan next week. I will update you the schedule. We have PRSDK RTOS release every quarter and 6.0 release is coming out end of June. Given the code is frozen already for a while, it is unlikely we can provide the fix in 6.0. Most likely 6.1 release (end of Sept) we can fix it. But please wait for my update. Regards, Eric
↧
Forum Post: RE: Linux/TMDSICE3359: TFTP boot
Hello, Rather than answer each of your specific questions above at this time, I wanted to get you up and running. Here is a list of commands that I just ran to TFTP Boot an ICE board over CPSW Ethernet. I used the below h/w setup. Please not which connector I'm using and the highlighted jumpers as these are needed to get Ethernet communication going. I hope the picture is clear. Here is a log of the commands that I ran to get the board booted. Please try this on your set up and let's at least get to the same point. Then, if you have specific questions about how this works, I'll be glad to address them. I've left the responses in so you can compare them to what you are seeing. => pr bootcmd bootcmd=if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run en vboot; run distro_bootcmd => pr init_console init_console=if test $board_name = A335_ICE; then setenv console ttyO3,115200n8;else setenv console ttyO0,115200n8;fi; => setenv ethact cpsw => setenv serverip xxx.xxx.xxx.xxx (use your IP here) => run findfdt => run init_console => run args_mmc => pr bootcmd bootcmd=if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run en vboot; run distro_bootcmd => pr bootargs bootargs=console=ttyO3,115200n8 root=PARTUUID=0001aabc-02 rw rootfstype=ext4 rootwait => dhcp link up on port 0, speed 100, full duplex BOOTP broadcast 1 BOOTP broadcast 2 BOOTP broadcast 3 DHCP client bound to address 192.168.2.20 (1205 ms) Using cpsw device TFTP from server 192.168.2.1; our IP address is 192.168.2.20 Filename 'zImage'. Load address: 0x82000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# #### 2.3 MiB/s done Bytes transferred = 3871232 (3b1200 hex) => run netloadfdt link up on port 0, speed 100, full duplex Using cpsw device TFTP from server 192.168.2.1; our IP address is 192.168.2.20 Filename 'am335x-icev2.dtb'. Load address: 0x88000000 Loading: ### 2.2 MiB/s done Bytes transferred = 37204 (9154 hex) => bootz ${loadaddr} - ${fdtaddr} ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 8df04000, end 8df10153 ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.14.79-ge669d52447 (oe-user@oe-host) (gcc version 7.2.1 20171011 (Lina ro GCC 7.2-2017.11)) #1 PREEMPT Sat Apr 6 03:14:17 UTC 2019 [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: TI AM3359 ICE-V2 - dual CPSW [ 0.000000] Memory policy: Data cache writeback [ 0.000000] efi: Getting EFI parameters from FDT: [ 0.000000] efi: UEFI not found. [ 0.000000] cma: Reserved 48 MiB at 0x8a800000 [ 0.000000] CPU: All CPU(s) started in SVC mode. [ 0.000000] AM335X ES2.1 (neon) [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 64960 [ 0.000000] Kernel command line: console=ttyO3,115200n8 root=PARTUUID=0001aabc-02 rw rootfstype=e xt4 rootwait [ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes) I hope this helps you move forward.
↧
Forum Post: RE: RTOS/AM3359: Issue with USB thumb drive
Hi Robert, It is wholeslaes, I can't buy a few from them. I am checking internally how to proceed and let you know. Meanwhile, can you confirm the behavior of this USB stick with: A typical Windows/Linux PC ====> no enumeration, mount issue? TI AM335x as USB host running Linux =====>? TI AM335x as USB host running RTOS======>takes a lot longer for the drive to even be recognized, very unresponsive. Sometimes the system will mount the filesystem. (Fat32 4GB). But any access to the stick causes the system to reboot. Also, do you have the ability to collect the trace with a USB analyzer? Regards, Eric
↧
↧
Forum Post: RE: RTOS/OMAP-L138: NDK: Exception in HelloWorld example
Hello Friedrich, I'm still looking into your first question. There is some porting effort required when migrating to the next NDK generation. Please see the following thread for more details on this. NDK/NIMU examples can be found in Processor SDK RTOS. Please see the below page: To build the examples, please see the steps below:
↧
Forum Post: RE: Linux/AM5728: How to compile ARM executable using CCS
Edmund, Please take a look at our IPC documentation to get a feel for developing IPC applications from both the host Cortex-A device and the slave DSP, MCU, etc. http://software-dl.ti.com/processor-sdk-linux/esd/docs/05_03_00_07/linux/Foundational_Components_IPC.html#ipc It will have different examples for how to build IPC code. Some are from Linux and some are from RTOS. Building the NDK from Linux is not a use case we support. The NDK should only be used by RTOS application and are documented as such. I hope this is helpful to you.
↧
Forum Post: RE: Linux/AM5728: PCIe Trouble Detecting
What is the part number for this? I cannot read it
↧
Forum Post: RE: Linux/TMDSICE3359: TFTP boot
Hi Ron, Thanks for setting up the environment and trying to boot TMDSICE_v2 over TFTP. I have set up the hardware as you have indicated with both the ethernet connection and the jumper settings. I am using a network with a router where my server ( host Ubuntu ) is receives IP address 192.168.2.60 from the router on the network, and if TMDSICE_v2 boots from SD card, it receives the IP address 192.168.2.63. I have not set up static IP addresses for either, but the router does this every time. If necessary, I could make both static ips, but I don't think it will make any difference. When I run the procedure that you have sent, I follow it to the T until I get to where I have to start dhcp by issuing => dhcp. Here is what I get after the command; link up on port 0, speed 100, full duplex BOOTP broadcast 1 DHCP client bound to address 192.168.2.64 (11 ms) => So, I hook up immediately but curiously, the client ( TMDSICE_v2 ) receives an IP address which is unusual, and the boot process does not proceed. I have typed tftp after this and issued the command, but while the TFTP prompt comes up, and there are multiple tries, the boot process does not proceed. I have installed dhcp on my host computer this morning. I am removing it to see if there is a conflict between the dhcp server on the host and the dhcp server on the router that is on the network. Will provide you with further update after this.
↧
↧
Forum Post: RE: TMS320C6746: Undefined EDMA errors
Hello, Can you let me know which software package you are using? And is this based on one of the examples?
↧
Forum Post: RE: AM3352: Sitara Device/Family longevity?
JIm, Thanks for using Sitara Processors. Here you can see the full list of Sitara Processors and in case you have a particular need, our selection tool may help you to narrow down the right part. http://www.ti.com/processors/sitara-arm/overview.html Now, regarding roadmap, we do not discuss roadmap in our public e2e. Please feel free to reach to your local TI sales contact for discussing future products. Now, regarding longevity, the comments from this post are still valid:
↧
Forum Post: RE: RTOS/OMAP-L137: USB_HostMsc_evmOMAPL137_c674xExampleProject Linking problem
Hello developerR, The config.bld file allows for making changes to the memory map at the application level. If you've already created a custom platform and don't need this flexibility, you can simply remove the config.bld file from your CCS project by going to Project Properties > Build > XDCtools > Advanced Options > and clearing the "Build configuration file" field. Also, if using a custom platform make sure you have updated the Platform field in Project Properties > General > Products > Platform to match your custom platform.
↧