NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

Building PSP Components for OMAP-L1x on v3.x Kernel

From Texas Instruments Wiki
Jump to: navigation, search

Content is no longer maintained and is being kept for reference only!



Content is no longer maintained and is being kept for reference only!



Rebuilding the Linux kernel[edit]

To rebuild the Linux kernel, follow the steps below.

Preparing your Environment[edit]

  1. If you have not already done so, install the Code Sourcery toolchain on your Linux host. Visit toolchain to download Code Sourcery toolchain.
  2. If U-Boot is not built yet, build U-Boot first, as building Linux Kernel requires mkimage utility, which gets built along with U-Boot. Refer to Rebuilding U-Boot for steps to build U-Boot. Once built, mkimage will be present under the tools folder of U-Boot source (/home/<user>/OMAP_L138_arm_x_xx_xx_xx/DaVinci-PSP-SDK-xx.xx.xx.xx/src/u-boot/uboot-xx.xx.xx.xx/tools). Ensure that this path is added to the $PATH variable by adding the following
  3. host$ export PATH=home/<user>/OMAP_L138_arm_x_xx_xx_xx/DaVinci-PSP-SDK-xx.xx.xx.xx/src/u-boot/uboot-xx.xx.xx.xx/tools:$PATH 
    

    to the ~/.bashrc file. You can then source the ~/.bashrc file with the following command

    host$ source ~/.bashrc 
    
  4. Use your Linux host to extract source files for building the target Linux kernel from the src/kernel/linux-#.#.#.#.tar.gz tarball from the OMAP-L138 Linux PSP package, which is located in the DaVinci-PSP-SDK-#.#.#.# directory under the main SDK installation directory (/home/<user>/OMAP_L138_arm_x_xx_xx_xx/DaVinci-PSP-SDK-xx.xx.xx.xx/src/kernel for default path installation). Use the tar command to extract the sources.
  5. host$ tar zxf linux-#.#.#.#.tar.gz
    

    NOTE
    Patches from the kernel-patches-#.#.#.#.tar.gz file have already been applied on Linux Kernel. This is the list of patches which have been developed on top of the base Linux kernel version. You can find information about the base Linux kernel version from the release notes accompanying the PSP release.

  6. Change directory (cd command) to the top-level directory of the Linux kernel source files obtained in the previous step.
  7. host$ cd linux-xx.xx.xx.xx
    

Basic Configuration of the Kernel[edit]

Based on what chip and development board you are using, you will need to configure the kernel for different options. Most of these setings are build into the Make file provided by TI, and you can switch between builds using some simple make options.

  1. Clean your installation of previous build settings
  2. host$ make distclean ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- 
    
  3. Configure the kernel according to the default configuration provided. The steps below assume that the Code Sourcery toolchain is already present in your $PATH variable.
  4. For da850 Spectrum Digital EVM

    host$ make da850_sdi_defconfig ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
    

    For da830 Spectrum Digital EVM

    host$ make da830_omapl137_defconfig ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- 
    

    For da830-WiFi Spectrum Digital EVM

    host$ make da830_omapl137_wifi_defconfig ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- 
    

    For omapl138-lcdk EVM

    host$ make da850_lcdk_defconfig ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- 
    
  5. Modify the kernel options you would like to run. This may take some planning, but the default settings are a good place to start. For more information on these settings, look further down the page at Driver configuration in the Linux kernel or see detailed instructions for different processors root file system. There are two menu configs that are commmon to run:
  6. host$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig 
    (or)
    host$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- xconfig
    

Building uImage[edit]

Run the following command to build the kernel image:

host$ make uImage ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-

The compiled uImage is copied into the arch/arm/boot directory under the kernel tree.

Once the kernel has been compiled, if you are using tftp boot, use the following commands to copy the uImage to a place where U-Boot can use TFTP to download it to the EVM. These commands assume you are using the default TFTP root area, which is /tftpboot. If you use another TFTP root location, please change /tftpboot to your own TFTP root location:

host$ cp arch/arm/boot/uImage /tftpboot

Note
If the uImage build fails with a similar message as follows:

"mkimage" command not found - U-Boot images will not be built

it could be that the path to the u-boot uImage script has not been added to the command search path. Include the path "{u-boot source path}/tools" to your PATH environment variable.

Building Modules[edit]

To build all features configured as modules (M), issue the following command:

host$ make modules ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-

Installing modules to Target File System[edit]

To install the compiled modules into the target root file system, issue the following command:

host$ make modules_install INSTALL_MOD_PATH=<root fs path> ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-

where the <root fs path> is the path of your target root file system on the host machine (/home/user/workdir/filesys for example).


See Loading Linux Kernel Modules for more information on using kernel modules after you build them.

Driver configuration in the Linux kernel[edit]

This section describes the procedure to configure the kernel to support various drivers.

  1. To begin, if you have not done basic configuration of the kernel go to that section, and do that first. Once you have compiled with base configuration, return here.
  2. Once you base configuration is set, you can use menu based configurations to change details about your kernel's build.

    host$  make menuconfig ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
    
  3. To select/de-select a feature, press 'space' after bringing cursor over selection box. When '*' appears in selection box, the feature is selected, when the selection box is empty, the feature is de-selected.
  4. To configure a particular feature as module, press 'space' until an 'M' appears in the selection box. Note that some of the menu options which are required to be deselected here (selection box empty) may not appear at all because the internal checks which render the option invalid. In this case, it is safe to assume that the options have been automatically disabled.

USB 2.0[edit]

USB2.0 interface is build into the default config in Dual Role mode meaning it can either be a Host or Device (OTG is not supported) automatically without need for user intervention. In the Dual Role mode support for MSC application is available in Host mode while RNDIS/CDC gadget application is available in Device mode by default. User can choose to change the application/mode supported by following the below steps if needed.

Configuring for Host

Device Drivers --->

    USB support --->
        <*> Support for Host-side USB
        --- Miscellaneous USB options
        [*] USB device class-devices
        --- USB Host Controller Drivers
        <*> Inventra Highspeed Dual Role Controller (TI, ADI, ...)
        --- Platform Glue Layer
        [*] DA8xx/OMAP-L1x
             <*>     MUSB DMA mode (TI CPPI4.1)  --->
             [ ]     Disable DMA (always use PIO)

(please see Inventra HDRC USB Controller for more details on the underlying driver)

When required to support HID devices (mouse, keyboard etc), choose the following

Device Drivers --->
	Input device support --->
		<*> Mouse interface
		[*] Keyboards --->
			<*> AT keyboard

	HID Devices --->
		<*> USB Human Interface Device(full HID) support

When required to support MSC devices (pen drive etc), choose the following

Device Drivers --->
	SCSI device support --->
		--- SCSI device support
		[*] legacy /proc/scsi/support
		--- SCSI support type (disk, tape, CD-ROM)
		<*> SCSI disk support
	USB support --->
		<*> USB Mass Storage support
		

 When required to support UVC, UAC class (Webcam, Speakers, Microphone etc.) choose the following

Device Drivers --->
	Multimedia support --->
		Video capture adapters --->
			V4L USB devices --->
				<*> USB Video Class (UVC)
				[*] UVC input events device support
	Sound card support --->
		Advanced Linux Sound Architecture --->
			USB sound devices --->
				<*> USB Audio/MIDI driver
				

Configuring for Gadget

	Device Drivers --->
    		USB support --->
        		< > Support for Host-side USB
        		<*> Inventra Highspeed Dual Role Controller (TI, ...)
			USB Gadget Support
                              <*> Inventra Highspeed Dual Role Controller--->
         

When required to support Ethernet gadget choose the following

	Device Drivers --->       
		USB support --->
			USB Gadget Support --->
				<*> USB Gadget Drivers (Ethernet Gadget (with CDC Ethernet support)) 
        	    		[*]     RNDIS support (EXPERIMENTAL)

When required to support File backed storage gadget, choose the following

	Device Drivers --->
		USB support --->
			USB Gadget Support --->
   				<M> USB Gadget Drivers
            			<M> File-backed Storage Gadget
				[*] File-backed Storage Gadget testing version (NEW)

Please make sure that Inventra HDRC is selected as USB peripheral controller which will appear only when "USB_GADGET" is selected. as shown below so after selecting Gadget Support go back to driver mode option to select "USB Peripheral (gadget stack)" and then come back again to select Inventra HDRC as USB peripheral controller.

	Device Drivers --->       
		USB support --->
			<*> USB Gadget Support --->

USB 1.1[edit]

	Device Drivers --->
		USB support --->
			<*> Support for Host-side USB
			--- Miscellaneous USB options
			[*] USB device filesystem
			--- USB Host Controller Drivers
			<*>   OHCI HCD support

To support MSC, HID, UVC, UAC applications over USB 1.1 interface refer to USB2.0 procedures for the same.

Audio[edit]

Device Drivers --->
    <*> Sound card support --->
        <*> Advanced Linux Sound Architecture --->
            <*> ALSA for SoC audio support --->
                <*> SoC Audio for the TI DAVINCI chip 

For da850 Spectrum Digital EVM :

                <*> SoC Audio support for DA850 SDI Board

For da830 or da830-WiFi Spectrum Digital EVM :

                <*> SoC Audio support for DA830/OMAP-L137/AM17xx EVM

For omapl38-lcdk EVM :

                <*> SoC Audio support for OMAP-L138 HAWKBOARD/ LCDK

Graphical LCD[edit]

Device Drivers --->
         Graphics support  --->
             <*> Support for frame buffer devices --->
             <*> DA8xx/OMAP-L1xx Framebuffer support 

When using da830 or da830-WiFi Spectrum Digital EVM:

System Type --->
         TI DaVinci Implementations  --->
             Select DA830/OMAP-L137/AM17xx UI board peripheral (LCD) ---> 

Character LCD[edit]

Device Drivers --->
         Graphics support  --->
             <*> Support for frame buffer devices --->
                < > DA8xx/OMAP-L1xx Framebuffer support
         <*> Parallel port support  ---> 
         [*] Staging drivers  --->
             [ ]   Exclude Staging drivers from being built
             <*>       Parallel port LCD/Keypad Panel support
             (0)       Default parallel port number (0=LPT1)
             (3)       Default panel profile (0-5, 0=custom)
             [ ]       Change LCD initialization message ?
             -*-       DA8XX/OMAP-L1/AM1xxx Dummy Parallel Port 
System Type --->
         TI DaVinci Implementations  --->
             [*] TI DA850/OMAP-L138/AM18x Reference Platform
                   Select peripherals connected to expander on UI board (Character LCD) ---> 

NAND[edit]

Device Drivers --->

    < > MMC/SD/SDIO card support  ---> 

    <*> Memory Technology Device (MTD)  support --->
        [*]   Command line partition table parsing
        <*>   Direct char device access to MTD devices
        -*-   Common interface to block layer for MTD 'translation layers'
        <*>   Caching block device access to MTD devices
        <*>   NAND Device Support ---> 
            <*> Support NAND on DaVinci SoC

WARNING
Please disable MMC support when NAND has to be used. They are pin multiplexed and NAND will not work when MMC is enabled in case of da830 boards.

NOR[edit]

Note: NOR flash is supported only on da850 Spectrum Digital EVM.

Device Drivers --->

    < > MMC/SD/SDIO card support  ---> 

    <*> Memory Technology Device (MTD)  support --->
        [*]   Command line partition table parsing
        <*>   Direct char device access to MTD devices
        -*-   Common interface to block layer for MTD 'translation layers'
        <*>   Caching block device access to MTD devices
              RAM/ROM/Flash chip drivers ---> 
                 <*> Detect flash chips by Common Flash Interface (CFI) probe
                 <*> Support for Intel/Sharp flash chips
              Mapping drivers for chip access --->
                 <*> Flash device in physical memory map

WARNING
Please disable MMC support when NOR has to be used. They are pin multiplexed and NOR will not work when MMC is enabled.

SPI[edit]

Device Drivers --->

        [*] SPI support  ---> 
            <*>     Texas Instruments DaVinci/DA8x/OMAP-L/AM1x SoC SPI controller

        <*> Memory Technology Device (MTD) support  --->
        [*]   Command line partition table parsing
        <*>   Direct char device access to MTD devices
        -*-   Common interface to block layer for MTD 'translation layers'
        <*>   Caching block device access to MTD devices
              Self-contained MTD device drivers  --->
                  <*> Support most SPI Flash chips (AT26DF, M25P, W25X, ...)
                  [*]   Use FAST_READ OPCode allowing SPI CLK <= 50MHz

MMC/SD[edit]

Device Drivers --->

    <*>MMC/SD/SDIO card support  ---> 
        <*>   MMC block device driver
        <*>   TI DAVINCI Multimedia Card Interface support 

RTC[edit]

Device Drivers --->

    <*> Real Time Clock  ---> 
        <*>   TI OMAP1

eCAP[edit]

         Device Drivers --->
                 <*> PWM Support --->
                    <*> eCAP PWM Support   

eHRPWM[edit]

         Device Drivers --->
                  <*> PWM Support --->
                   <*> eHRPWM Support 

NOTE
Please disable framebuffer driver support from menuconfig when eHRPWM module 1 output A (eHRPWM.1:0/) needs to be used. Since it is pin multiplexed with this eHRPWM module, the driver will not work when it is enabled.

 Device Drivers --->
         Graphics support  --->
             <*> Support for frame buffer devices --->
             < > DA8xx/OMAP-L1xx Framebuffer support 

NOTE
Please disable spi driver support from menuconfig when eHRPWM module 1 output B (eHRPWM.1:1/) needs to be used. Since it is pin multiplexed with this eHRPWM module, the driver will not work when it is enabled.

 Device Drivers --->
         [*]SPI support  --->
             < > Texas Instruments DaVinci/DA8x/OMAP-L/AM18x SoC SPI controller 

eCAP Capture[edit]

         Device Drivers --->
                 <*> PWM Support --->
                    <*> eCAP capture Support

NOTE
Please disable Sound Card driver support from menuconfig when eCAP capture needs to be used. Since they are pin multiplexed with eCAP, the driver will not work when these are enabled.


Device Drivers --->

    < > Sound card support  --->   

Power Management[edit]

CPUFreq[edit]

CPU Power Management  --->
        CPU Frequency scaling --->
	        [*] CPU Frequency scaling 
		Default CPUFreq governor (userspace)  ---> 
			(X) usespace 
Device Drivers  --->
	Multifunction device drivers  --->       
		<*> TPS6507x Power Management / Touch Screen chips
	[*] Voltage and Current Regulator Support  --->
		<*>   TI TPS6507X Power regulators

CPUIdle[edit]

CPU Power Management  --->
	[*] CPU idle PM support

Suspend-to-RAM[edit]

Power management options  --->
	 [*] Power Management support
	 [*] Suspend to RAM and standby 

Ethernet[edit]

[*] Networking support  --->
	Networking options  --->
		[*] TCP/IP networking 
		[*]   IP: kernel level autoconfiguration
		[*]     IP: DHCP support
Device Drivers --->
	[*] Network device support  --->
               	<*>   Generic Media Independent Interface device support
		[*]   Ethernet driver support  --->
		      <*>   Texas Instruments (TI) devices
                      <*>   TI DaVinci EMAC Support
                      -*-   TI DaVinci MDIO Support
                      -*-   TI DaVinci CPDMA Support

Using the MII PHY on da850 Spectrum Digital EVM[edit]

System Type --->
	TI DaVinci Implementations --->
		[*]DA850-SDI Development Board
                              (X)MII Ethernet PHY

WARNING
Note: When using MII PHY, RMII ethernet PHY will not be functional. Do not plug in ethernet cables to both the PHYs.

Touchscreen[edit]

TSC2004[edit]

TSC2004 touchscreen controller is found on da830 or da830-WiFi Spectrum Digital EVM when using new UI cards

Device Drivers --->
        Input device support  --->
                [*]   Touchscreens  --->   
                        <*>   TSC2004 based touchscreens

TPS65070[edit]

TPS65070 touchscreen controller is found on da850 Spectrum Digital EVM

Device Drivers --->
	Multifunction device drivers  --->       
		<*> TPS6507x Power Management / Touch Screen chips
        Input device support  --->
                [*]   Touchscreens  --->   
                        <*>   TPS6507x based touchscreens         

Rebuilding U-Boot[edit]

Follow these steps to rebuild U-Boot:

  1. If you have not already done so, install the Code Sourcery toolchain on your Linux host.
  2. Use your Linux host to extract source files for building U-Boot from the src/u-boot/u-boot-#.#.#.#.tar.gz tarball from the Linux PSP package, which is located in the DaVinci-PSP-SDK-#.#.#.# directory under the main SDK installation directory. Use the tar command to extract the sources.
  3. Go to the u-boot directory created when you extracted the files.
  4. Run the following commands on your Linux host to build U-Boot.
  5. NOTE
    The steps below assume that the Code Sourcery toolchain is already present in your $PATH variable.

    for da850 Spectrum Digital EVM

    host$ make distclean CROSS_COMPILE=arm-none-linux-gnueabi-
    host$ make da850sdi_config CROSS_COMPILE=arm-none-linux-gnueabi- 
    host$ make u-boot.ais CROSS_COMPILE=arm-none-linux-gnueabi-
    

    for da830 Spectrum Digital EVM

    host$ make distclean CROSS_COMPILE=arm-none-linux-gnueabi-
    host$ make da830evm_config CROSS_COMPILE=arm-none-linux-gnueabi- 
    host$ make all CROSS_COMPILE=arm-none-linux-gnueabi-
    

    for da830-WiFi Spectrum Digital EVM

    host$ make distclean CROSS_COMPILE=arm-none-linux-gnueabi-
    host$ make da830evm_wifi_config CROSS_COMPILE=arm-none-linux-gnueabi-
    host$ make all CROSS_COMPILE=arm-none-linux-gnueabi-
    

    for omap-l138 LCDK EVM

    host$ make distclean CROSS_COMPILE=arm-none-linux-gnueabi-
    host$ make omapl138_lcdk_config CROSS_COMPILE=arm-none-linux-gnueabi-
    host$ make all CROSS_COMPILE=arm-none-linux-gnueabi-
    

    for da850 Spectrum Digital EVM:

    • The compiled u-boot.ais file will be created in the same directory.

    for da830 or da830-WiFi Spectrum Digital EVM and omapl138 LCDK EVM:

    • The compiled u-boot.bin file will be created in the same directory.

    To change the default options, the EVM configuration file needs to be edited.

    • for da850 Spectrum Digital EVM are specified in the include file include/configs/da850sdi.h
    • for da830 or da830-WiFi Spectrum Digital EVM are specified in the include file include/configs/da830evm.h
    • for omap-l138 LCDK EVM are specified in the include file include/configs/omapl138_lcdk.h

    To change U-Boot environment area location or size:

    • CONFIG_ENV_SIZE Configures the environment variable size.
    • CONFIG_ENV_OFFSET Configures the environment variable offset.


    Choice of Flash supported:

    NOTE
    Only one of these Flash options should be defined at a time. Defining more than one Flash option results in a compilation error when you build U-Boot.

    • CONFIG_USE_SPIFLASH If this flag is defined, U-Boot supports the SPI flash on the EVM board. The environment variables are stored on the SPI flash. This option is switched on by default.
    • CONFIG_USE_NAND If this flag is defined, U-Boot supports U-Boot NAND flash access using the OMAP-L1 SoC. Environment variables are also stored on the NAND flash.
    • CONFIG_USE_NOR If this flag is defined, U-Boot supports U-Boot NOR flash access using the OMAP-L1 SoC. Environment variables are also stored on the NOR flash.

    Configuring U-Boot for different boot modes in da850 Spectrum Digital EVM[edit]

    NAND boot mode[edit]

    • Use the below steps to compile U-Boot:
    • host$ make distclean CROSS_COMPILE=arm-none-linux-gnueabi-
      host$ make da850sdi_nand_config CROSS_COMPILE=arm-none-linux-gnueabi-
      host$ make u-boot.ais CROSS_COMPILE=arm-none-linux-gnueabi-
      

      The compiled u-boot.ais file will be created in the same directory. This file can be directly flashed to NAND flash using the steps mentioned here. A precompiled image for NAND boot mode (u-boot-nand.ais) is available under the images/u-boot/omapl1x8/ folder of PSP installation.

    NOR boot mode[edit]

    Use the below steps to compile U-Boot:

    host$ make distclean CROSS_COMPILE=arm-none-linux-gnueabi-
    host$ make da850sdi_direct_nor_config CROSS_COMPILE=arm-none-linux-gnueabi-
    host$ make all CROSS_COMPILE=arm-none-linux-gnueabi-
    

    The compiled u-boot.bin file will be created in the same directory. This file can be directly flashed to NOR flash using the steps mentioned here.

    MMC/SD boot mode[edit]

    IMPORTANT
    Strict MMC/SD boot mode is only supported on SoCs which have d800k008 ROM revision. To find out the ROM revision, follow these steps.

    1. Use the below steps to compile U-Boot:
    2. host$ make distclean CROSS_COMPILE=arm-none-linux-gnueabi-
      host$ make da850sdi_mmc_config CROSS_COMPILE=arm-none-linux-gnueabi- 
      host$ make all CROSS_COMPILE=arm-none-linux-gnueabi-
      
    3. u-boot.bin file which needs to be written to MMC/SD card will be created in the same directory. This file should be written to MMC/SD card using the steps mentioned here. A precompiled image for pseudo MMC/SD boot mode (u-boot-mmcsd.bin) is available under the images/u-boot/omapl1x8/ folder of PSP installation.
    4. The compiled minimal u-boot (SPL) binary which needs to be flashed to SPI flash will be created under the spl directory.Convert the SPL binary to AIS format using the below command:
    5. host$ mkimage -s -n /dev/null -T aisimage -e 0x80000000 -d spl/u-boot-spl.bin spl/u-boot-spl.ais
      

      A precompiled AIS image for pseudo MMC/SD boot mode (u-boot-mmcsd.ais) is available under the images/u-boot/omapl1x8/ folder of PSP installation.

      Note
      Before executing above command, make sure that the path "{u-boot source path}/tools" is added to your PATH environment variable.

    6. Flash this AIS image to SPI flash.

    Rebuilding the ARM Side User Boot Loader for da830 and da830-WiFi Spectrum Digital EVM[edit]

    Use your Linux host to extract the ARM UBL code present in boot-strap folder of LINUX PSP package. Use the tar command to extract the sources. If the extracted files are not accessible from your Microsoft Windows host, copy all the extracted files to a location that is accessible.

    NOTE
    By default, the ARM UBL configures the SoC to work at 300MHz, 1.2V operating point. Changing the Operating Point describes the procedure to change the default operating point.

    When using CCStudiov5:

    1. Start CCStudiov5.
    2. From the menus, choose File->Import. Choose CCS->Existing CCS/CCE Eclipse Project. Browse to ccsv4/omap-l1x7 directory inside the extracted ARM UBL source and select it.
      • To build for SPI Flash, select the "Configuration" option as BOOT_SPI in Project->Properties menu.
      • To build for NAND Flash, select the "Configuration" option as BOOT_NAND in Project->Properties menu.
    3. Go to Project->Properties->Build->TMS470 Compiler->Runtime Model Options
    4. Select ti_arm9_abi in Application binary interface option.
    5. In case of da830-WiFi ARM UBL build, Project->Properties->Build->TMS470 Compiler->Predefined Symbolsand add Symbol CONFIG_DA830_WIFI_UBOOT_OFFSET.
    6. From the menus, choose Project->Build Project.
    7. When build is complete
      • The executable ELF binary (ubl-xxx.out) file is generated in the Project Root directory.
      • The Project Root directory is <armubl-install-dir>\ccsv4\omapl1x7\
    8. The files generated by the build procedure, needs to be given to AIS generation tool. AIS generation tool

    AIS image generation for da830 and da830-WiFi Spectrum Digital EVMs[edit]

    1. Download and Install AISgen tool from [AIStool]
    2. In AISgen tool, Select ROM ID D800K005 in case of da830-WiFi Board and D800K001 in case of da830-evm board.
    3. Open AISgen.exe file, go to file menu of tool and Select "Configure for EVM".
    4. Poppulate field application file.Provide both DSP and ARM UBL .out files.It is important to provide the two files in that order.
    5. In AIS file field, Provide the name of output AIS file.
    6. See final settings of tools as below for da830-evm (ROM ID: D800K001)

    Pa ubl da830.jpg

    1. Click Generate AIS and AIS file gets created at specified folder and tool prompts Success.

    Rebuilding the SPI Flash writer[edit]

    1. Extract the SPI flash writer code from /src/utils/spiflash-writer-03.xx.xx.xx.tar.gz file in PSP installation.
    2. Start CCStudio v5. From the menus, choose File->Import. Choose CCS->Existing CCS/CCE Eclipse Project.
    3. Browse to the the extracted source directory, select the DA830_spiWriter directory where the ccsv5 project resides.
    4. In case of da830-WiFi build, go tp Project->Properties->Build->TMS470 Compiler->Predefined Symbols and replace CONFIG_MACH_DAVINCI_DA830_EVM<\tt> with CONFIG_MACH_DAVINCI_DA830_WIFI<\tt>.
    5. From the menus, choose Project->Build Project. The built image DA830_spiWriter.out is placed in the /src/utils/spiflash-writer-03.xx.xx.xx.tar.gz under the top directory.


    To flash images to SPI Flash, see Flashing images to SPI Flash using CCS or Flashing images to SPI Flash using Serial Flasher.
    To boot U-Boot from SPI Flash, see Booting from SPI Flash.
    To boot the Linux kernel from SPI Flash using U-Boot, see Booting the Linux kernel from SPI Flash.

    AIS image generation for omapl138 LCDK EVM[edit]

    If you want to flash your version of U-Boot on LCDK's NAND, the image needs to be converted to AIS format. In this method, the OMAP-L138 internal ROM bootloader (RBL) can load and boot U-Boot without the need to boot a User Boot Loader (UBL) first.

    The AIS converter tool can be downloaded from here and is a MS-Windows (tm) install. The tool can import pre-configured files to facilitate the conversion and the LCDK version can be downloaded from this location.

    You need to bring the u-boot image to the your Windows PC to use with this tool. The pre-built image of u-boot, u-boot-lcdk.bin, under images/u-boot/omapl138-lcdk, can be used to test out this procedure as well.

    Once AISgen is up, import the LCDK config file using File->Load Configuration. The settings should look similar to the following image with some settings not yet set.



    LCDK AISgen Settings Example 

    On "ARM Application File:" entry window, enter the full path of the non-AIS u-boot image file name and its load image address which should be "@0xC1080000" by default (as shown). For the output file, any file name can be used but as good practice, "_ais" is added to differentiate with the non-AIS version if the same name is going to be used.
    Next check the "Specify Entrypoint and "Configure PSC" boxes. Under the "PSC" tab, make sure that PCS1 is "13;".

    Generate the image and use the serial flasher as in Re-flashing boot images to flash the image to NAND on the LCDK.

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Building PSP Components for OMAP-L1x on v3.x Kernel here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Building PSP Components for OMAP-L1x on v3.x Kernel here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Building PSP Components for OMAP-L1x on v3.x Kernel here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Building PSP Components for OMAP-L1x on v3.x Kernel here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Building PSP Components for OMAP-L1x on v3.x Kernel here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Building PSP Components for OMAP-L1x on v3.x Kernel here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Building PSP Components for OMAP-L1x on v3.x Kernel here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Building PSP Components for OMAP-L1x on v3.x Kernel here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Building PSP Components for OMAP-L1x on v3.x Kernel here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity