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

 
 
> STR912FAW47, работа увеличенными Flash
EKirshin
сообщение Jul 30 2008, 08:29
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 2-10-06
Из: Москва
Пользователь №: 20 904



Установили новый кристалл STR912FAW47.

После попытки прошивать Flash Bank1 128K получаем ошибку - таймаут доступа к Flash.
Это насчёт алгоритма ICP. Обычный тоже не работает, но ошибка другая (не работал и ранее).

Если прошивать алгоритмом ICP для версии FAW44 (которым пользовались ранее), то прошивка проходит. Но здесь уже возникает проблема непосредственно с запуском самой программы.

О запуске.

Для старого чипа используем startup-файл, строки инициализации FMI:
Код
FMI_CR_Val      EQU     0x00000018  

FMI_BBSR_Val    EQU     0x00000000

FMI_BBADR_Val   EQU     0x00000000
FMI_NBBSR_Val   EQU     0x00000006

FMI_NBBADR_Val  EQU     0x00080000
FLASH_CFG_Val   EQU     0x00001000

; Setup Flash Memory Interface (FMI)
                LDR     R0, =FMI_BASE
                LDR     R1, =FMI_BBSR_Val
                STR     R1, [R0, #FMI_BBSR_OFS]
                LDR     R1, =FMI_NBBSR_Val
                STR     R1, [R0, #FMI_NBBSR_OFS]
                LDR     R1, =(FMI_BBADR_Val:SHR:2)
                STR     R1, [R0, #FMI_BBADR_OFS]
                LDR     R1, =(FMI_NBBADR_Val:SHR:2)
                STR     R1, [R0, #FMI_NBBADR_OFS]
                LDR     R2, =FMI_CR_Val
                STR     R2, [R0, #FMI_CR_OFS]

               ; Write "Write flash configuration" command (60h)
                LDR     R0, =FMI_BBADR_Val
                MOV     R1, #0x60
                STRH    R1, [R0, #0]

               ; Write "Write flash configuration confirm" command (03h)
                LDR     R2, =(FLASH_CFG_Val:SHL:2)
                ADD     R0, R0, R2
                MOV     R1, #0x03
                STRH    R1, [R0, #0]


Для нового изменяем следующие параметры:
FMI_BBSR_Val на 0x02
FMI_NBBSR_Val на 0x08
FMI_NBBADR_Val на 0x200000

Бит, который выбирает Flash для загрузки (CSX) установлен в "1" -> загрузка из bank1.

В свойствах проекта на вкладке "Target" изменяем все 0x80000 на 0x20000 и 0x8000 на 0x20000.

После запуска по debugger'у видно, что программа делает переход на вектор неверного адреса при попытке запустить следующую команду после команды "LDR R0, =FMI_BBADR_Val". При этом в окне дизассемблера текущие команды уже не опознаются (стоит "???"), т.е. - явно неверная инициализация адреса и т.п.

Исполузуем MDK 3.22.

Кто-нибудь уже работал с STR912FAW47 ?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- EKirshin   STR912FAW47   Jul 30 2008, 08:29


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 14:48
Рейтинг@Mail.ru


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