This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3358 JTAG Flashing

Other Parts Discussed in Thread: UNIFLASH, AM3358

What is the procedure for flashing images on to a blank or virgin board using JTAG? I have spectrum digital XDS200 USB JTAG.

http://www.spectrumdigital.com/product_info.php?&products_id=261 

The product link above mentions support of TI Uniflash Programming Utility. But the Uniflash 

My board's sys boot pins are configured in the order MMC1, MMC0, UART0 & USB0. And the board doesn't have SDCARD Support.

I have searched through the following wiki pages for flashing support, but there is no mention of flashing via JTAG? Does AM3358 support Flashing with JTAG? or do i require Code composer studio to flash using JTAG?

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

http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User's_Guide 

  http://processors.wiki.ti.com/index.php/Sitara_Linux_Software_Developer%E2%80%99s_Guide 

Are there any flashing tools available similar to SAM-BA v2.12 which is used to flash Atmel Chipset?

Regards,

Satish.

  • Hi Satish,

    Here is a wiki link: http://processors.wiki.ti.com/index.php/AM335x_CCS_Flashing_Tools_Guide Note that this works for NAND flash only. You haven't mentioned what type of memory you want to flash. For eMMC flashing, the links you have posted provide information.

  • Hi Biser,
    I have NAND Flash to program. I am particularly looking for procedures with JTAG, but not using CCS. XDS200 page refers to supporting UNIFLASH utility, but UNIFLASH procedures doesn't mention using XDS200.

    Regards,
    Satish
  • Sorry, I cannot help if you don't want to use CCS. JTAG NAND flashing procedures developed by TI are based on CCS.

  • Hi Satish,
    I used uniflash to flash my board. You have mentioned - "MMC1, MMC0, UART0 & USB0" is the boot device order. If there are no valid images on MMC1, MMC0, UART0 then it'll take last boot option - USB0. You can flash NAND using uboot/Linux( You can follow some of my posts where there is info/guidance to flash NAND when booting over UART/USB). You can use uniflash setup wiki, follow the procedure, boot over USB and flash the MMC. Note MMC can be flashed only using Linux commands. Check if there is any link/wiki to flash using Spectrum device.

    Regards,
    Gangadhar
  • Hi Gangadhar,

    Thanks for the reply.
    To try, i am having Beagle bone Black, which also has similar boot order. I followed through your post and found this link, e2e.ti.com/.../344528

    for eMMC Flash, Nand commands don't work. Uboot mmc commands are giving errors such as "card did not respond to voltage select", how to proceed further then? how did you transfer Uboot and MLO over UART?

    These steps are performed after you get a uboot prompt over UART. How will you flash uboot on a virgin board? Is JTAG required then with CCS tool?

    For using Spectrum Device XDS200, the only choice is CCS. I have taken evaluation version of CCS. But i am facing problem with CCS too. With linux version, CCS hangs most of the time, with windows version, it has communication issues with BBB, tried different GEL files, but no success yet. For production automation, we can't recommend CCS tool.

    Please help solve this problem.

    Regards,
    Satish.
  • Hi Satish,
    Yes, NAND commands don't work for eMMC. You have to do RAM boot I. e., transfer MLO, uboot, kernel, ramdisk to RAM using UART or USB. After Linux boots, you can use the Linux commands(sfdisk, fdisk, dd, tar etc) to flash eMMC.
    If you want to transfer images from your host to target using UART, check my posts, in one of the posts last year Miroslav has mentioned the steps.

    Regards,
    Gangadhar
  • Hi Gangadhar,

    I followed few steps from the link e2e.ti.com/.../343978, to get my hands on transferring MLO and u-boot.img over UART. I am using Buildroot for building my images from scratch and linux host (ubuntu) for programming.

    I used picocom at terminal with arguments given in the above link. To my luck the transfer / activity stops as soon as filename is typed at picocom console and pressed enter. Am i missing any steps here? I am using beagle bone black Rev C board for development and learning purpose.
    On a virgin or blank board will the above procedure work?

    Buildroot provides the following output files: MLO, u-boot.img, uEnv.txt, zImage, am335x-boneblack.dtb
    Do i require any more files to go?

    I have few more queries?
    First, Using sd-card boot on beaglebone, i could partition eMMC on-board,

    [ 1.407465] mmcblk0: mmc1:0001 MMC04G 3.65 GiB
    [ 1.413517] mmcblk0boot0: mmc1:0001 MMC04G partition 1 1.00 MiB
    [ 1.427311] mmcblk0boot1: mmc1:0001 MMC04G partition 2 1.00 MiB
    [ 1.444940] mmcblk0: p1 p2
    [ 1.451914] mmcblk0boot1: unknown partition table
    [ 1.459032] mmcblk0boot0: unknown partition table

    mmcblk0boot1 and mmcblkboot0 are listed as unknown partition table, why? i used fdisk and followed similar steps as described in your earlier post for partitioning.

    Second, On a blank board is it possible to partition the eMMC device using u-boot commands at u-boot prompt? if so please share me the link.

    Third, on which OS did you use the uniflash tool? on linux or windows? I followed the instructions given in this link processors.wiki.ti.com/.../Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black to build images and flashing via linux console. But the process stops after kernel loads, after which their is no response at all. The board is stuck at starting kernel.... This time i used tisdk images instead of buidroot for trying out.

    Fourth, what is the procedure for sending MLO and u-boot.img over USB, if uart fails? please share the link

    Thanks for all the replies so far.

    Regards,
    Satish.
  • Hi Satish,
    After initiating u-boot-spl.bin from picocom/minicom, switch on the board and wait for sometime until the transfer starts. After u-boot-spl.bin gets transferred, transfer u-boot.img. Please COMPLETELY read the post till the end, the link to which you have mentioned in your post. All these information is in that post.
    I told you, that you "CAN NOT" flash eMMC from uboot, you have to flash it using Linux commands.
    I had uniflash on Windows7 system.
    For further info there are lot of Wikis from TI for Sitara AM33xx processors. Everything is well documented.


    Regards,
    Gangadhar
  • Hi Satish,

    I've attached a sample script used to flash eMMC/mNAND. You can do RAMBOOT, mount pendrive and use the images on pendrive and flash eMMC. Or do RAMBOOT, tftp images and flash eMMC.

    Regards,

    Gangadharflasher.docx

     

     

     

  • Hi Gangadhar,

    Thanks again, I had the flasher.sh file.
    I successfully programmed BBB from scratch with buildroot images.
    I followed your link for transferring MLO and U-boot over UART to get U-boot prompt, after which via USB-RNDIS enabled, i downloaded / tftp kernel image and booted in RAM, then with the flasher script i could program / flash the eMMC.

    Thanks for the response.

    Regards,
    Satish.