реклама на сайте
подробности

 
 
> Прошивка NOR-FLASH, Загрузка в NOR загрузчика UBOOT
ST_Senya
сообщение Oct 1 2010, 04:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 2-12-09
Пользователь №: 54 003



Разбираясь с прошивкой NAND flash на плате SMDK6410 (содержащей процессор S3C6410 c ядром ARM1176), похерел NOR флэш. Теперь вот не фига не могу прошить загрузчик в NOR флэш. NOR AM29LV800BB. Загружаю свой скрипт в OpenOCD. Вот его код

Код
#*******************************************************************************
***********************************
#*********************************************OPENOCD.CFG***********************
***********************************
#*******************************************************************************
***********************************
#Вешаем и настраиваем JTAG на параллельный порт LPT1
interface parport
parport_port 0x378
parport_cable arm-jtag

#Настраиваем плату
source samsung_s3c6410.cfg
set  _CHIPNAME s3c6410
set  _ENDIAN little
set _ETBTAPID 0x2b900f0f
set _CPUTAPID 0x07b76f0f
jtag newtap $_CHIPNAME etb -irlen 4 -expected-id $_ETBTAPID
jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUTAPID
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME arm11 -endian $_ENDIAN  -chain-position $_TARGETNAME -variant arm1176

jtag_nsrst_delay 500
jtag_ntrst_delay 500

arm11 memwrite burst disable
reset_config trst_and_srst

etm config $_TARGETNAME 16 normal full etb
etb config $_TARGETNAME $_CHIPNAME.etb

$_TARGETNAME configure -work-area-phys 0x00000000 -work-area-size 0x00100000

#Настраиваем NOR FLASH
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME cfi 0x00000000 0x00100000 2 2 $_TARGETNAME

#Делаем настройки памяти SDRAM через проц
$_TARGETNAME configure -event reset-init {
    puts "Halting target"
    poll
    sleep 1
    halt
    wait_halt
    puts "Clock/Timer settings"

    reg cpsr 0x600001D3

    arm mcr 15 0 15 2 4 0x70000003

    mww 0x7e004000 0x00000000

    mww 0x7e00f120 0x00000003

    puts "Operating Mode Change to Sync Mode"
    mww 0x7e00f900 0x0000805E
    sleep 1000

    mww 0x7e00f900 0x000080DE
    sleep 1000

    mww 0x7e00f000 0x0000ffff
    mww 0x7e00f004 0x0000ffff
    
    mww 0x7e00f020 0x01047310
    
    mww 0x7e00f00c 0x81900302
    mww 0x7e00f010 0x81900303
    
    mww 0x7e00f01c 0x00000003
    
    puts "DRAM Initialization"
    mww 0x7e001004 0x00000004
    
    mww 0x7e001010 0x0000030c
    
    mww 0x7e001014 0x00000006
    mww 0x7e001018 0x00000001
    mww 0x7e00101c 0x00000002
    mww 0x7e001020 0x00000007
    mww 0x7e001024 0x0000000A
    mww 0x7e001028 0x0000000C
    mww 0x7e00102C 0x0000010B
    mww 0x7e001030 0x0000000C
    mww 0x7e001034 0x00000003
    mww 0x7e001038 0x00000003
    mww 0x7e00103C 0x00000002
    mww 0x7e001040 0x00000002
    mww 0x7e001044 0x00000011
    mww 0x7e001048 0x00000011
    
    puts "Memory Configuration Register"
    mww 0x7e00100C 0x00010012
    puts "Memory Configuration Register 2"
    mww 0x7e00104C 0x00000B41
    
    puts "Chip 0 Configuration"
    mww 0x7e001200 0x000150F8
    
    puts "Memory Direct Command"
    mww 0x7e001008 0xc0000000
    mww 0x7e001008 0x00000000
    mww 0x7e001008 0x40000000
    mww 0x7e001008 0x40000000
    mww 0x7e001008 0x000A0000
    mww 0x7e001008 0x00080032
    mww 0x7e001004 0x00000000    
}

#*******************************************************************************
***********************************
#*******************************************************************************
***********************************
#*******************************************************************************
***********************************

Запускаю в терминале openocd.exe
получаю рис.1

Далее набираю в другом терминале telnet localhost 4444
В нём набираю reset init
получаю рис.2

Затем последовательно набираю команды flash banks, flash probe 0, flash protect 0 0 18 off, flash protect_check 0, flash info
рис.3 (Причём когда выполняется команда flash protect там пишется что команда не поддерживается. Т.е. не получится не установить не снять защиту так???)

Далее я сделал следующие вещи. Набрал команду dump_image NOR.bin 0x00000000 65536 т.е. якобы считал область где лежит загрузчик. Получил файл NOR.bin
рис.4 (Приведён фрагмент загрузчика. С помощью него программа DNW подключалась к плате и выдавала сообщения в COM порт с возможностью настройки разных параметров... Теперь эта возможнасть исчезла))))

После этого на радостях я решил проверить прошивку в NOR (эксперементировать на NOR из платы не хотел, но начальник настаял))
и так набрал команды flash erase_sector 0 0 18, а потом что бы убедиться что я с стёр память опять набираю команду dump_image NOR.bin 0x00000000 65536 и получаю следующую картину
рис.5 (вроде как всё получилось, всё стёрлось, причём команда flash erase_adress тоже имела такой же эффект).

А вот команды прошивки не сработали!!!!!!!!!! все до единой выдают ошибки. Вот пример команды flash write_bank 0 NOR.BIN 0 (причём сначала вроде она как пытается грузить, потому что ошибка вылетает не сразу). При этом если потом попробывать повторить команду (я взял уже flash write_image NOR.bin), то типо пишет что проц не остановлен и приходиться набирать halt, что бы дальше работать.
рис.6

что я делаю не так??? Где ошибка. Почему не прошивается NOR. На защиту и адресацию я думаю не имеет смысла валить? Ведь нор то потёрся, значит уже защита там наверное отключена, а насчёт адресации, параметры то теже что и при считывании. Но не фига не прошивается...( Да кстати при прошивке прога ругалась что типо нужно указать -work-area-phys. Без этого команды прошивки вообще не запускались (А вот на чтение работали!). Я добавил вот эту строчку, правдо не знаю всё ли я правильно сделал...
$_TARGETNAME configure -work-area-phys 0x00000000 -work-area-size 0x01000000


Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 01:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016