Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC3250 Flash algoritm
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
deeper_79
Существует ли в природе алгоритм програмиррования Flash с LP(Large Page) для LPC3250 для Keil или надо самому все ваять. Может кто делал такой?
AlexandrY
Цитата(deeper_79 @ Aug 29 2012, 10:36) *
Существует ли в природе алгоритм програмиррования Flash с LP(Large Page) для LPC3250 для Keil или надо самому все ваять. Может кто делал такой?


Что за Flash - NAND, NOR ...?
Алгоритм сильно зависит от платформы на которой стоит микроконтроллер и IDE , поэтому постановка вопроса некорректна.
deeper_79
Цитата(AlexandrY @ Aug 29 2012, 11:05) *
Что за Flash - NAND, NOR ...?
Алгоритм сильно зависит от платформы на которой стоит микроконтроллер и IDE , поэтому постановка вопроса некорректна.

Сорри, flash типа NAND Samsung K1F9G08U0B как я понимаю это память с Large Page а в mVision 4.54 есть алгоритмы только с Small Page, работаю с отдладочным модулем DevKit3250.
AlexandrY
Цитата(deeper_79 @ Aug 29 2012, 11:14) *
Сорри, flash типа NAND Samsung K1F9G08U0B как я понимаю это память с Large Page а в mVision 4.54 есть алгоритмы только с Small Page, работаю с отдладочным модулем DevKit3250.


Есть для MT29F2G08ABAEAH4:E TR под Keil 4.22A
deeper_79
Цитата(AlexandrY @ Aug 29 2012, 11:31) *
Есть для MT29F2G08ABAEAH4:E TR под Keil 4.22A

правильно я понимаю что это название микросхемы или это алгоритм так назваеться у меня в Keil 4.54 такого нет.

и еще вопрос если мне все таки придется пределывать алгоритм програмирования можно ли его отлаживать и через jtag?
AlexandrY
Цитата(deeper_79 @ Aug 29 2012, 12:33) *
правильно я понимаю что это название микросхемы или это алгоритм так назваеться у меня в Keil 4.54 такого нет.

и еще вопрос если мне все таки придется пределывать алгоритм програмирования можно ли его отлаживать и через jtag?


Да, это название микросхемы. Вроде как функциональный аналог K9F1G08U0B
Алгоритм через JTAG отлаживать не удастся, так как в тоже самое время JTAG используется для взаимодействия с ядром в процессе программирования.
Я при отладке программирования использовал вывод в UART.
Да, и еще у меня программирует не загрузочный образ, а собственный формат (контроль ECC другой). Поэтому встроенный в uC bootloader прямо из NAND программу не запустит.
deeper_79
Цитата(AlexandrY @ Aug 29 2012, 13:04) *
Да, это название микросхемы. Вроде как функциональный аналог K9F1G08U0B
Алгоритм через JTAG отлаживать не удастся, так как в тоже самое время JTAG используется для взаимодействия с ядром в процессе программирования.
Я при отладке программирования использовал вывод в UART.
Да, и еще у меня программирует не загрузочный образ, а собственный формат (контроль ECC другой). Поэтому встроенный в uC bootloader прямо из NAND программу не запустит.

а где этот алгоритм взять что то я его найти не могу, может Вы мне его скинете попробую на его основе свой написать
AlexandrY
Цитата(deeper_79 @ Aug 29 2012, 13:19) *
а где этот алгоритм взять что то я его найти не могу, может Вы мне его скинете попробую на его основе свой написать

Это не алгоритм, а проект.
Но там есть алгоритм wink.gif
KeilLoader_NAND
deeper_79
Цитата(AlexandrY @ Aug 29 2012, 17:55) *
Это не алгоритм, а проект.
Но там есть алгоритм wink.gif
KeilLoader_NAND

Спасибо буду ковырять!!!!
Если будут вопросы надеюсь можно спросить?
deeper_79
Цитата(deeper_79 @ Aug 30 2012, 10:10) *
Спасибо буду ковырять!!!!
Если будут вопросы надеюсь можно спросить?

Еще один вопросик

MLC SLC контоллеры, какой включать? Как я понял это разные типы Flash, но в datasheet на микросхему я ничего не нашел(или плохо искал)
AlexandrY
Цитата(deeper_79 @ Aug 31 2012, 12:13) *
Еще один вопросик

MLC SLC контоллеры, какой включать? Как я понял это разные типы Flash, но в datasheet на микросхему я ничего не нашел(или плохо искал)


NAND у вас SLC. Но с ней можно работать и через MLC контроллер, так делает встроенный bootloader.
В моем проекте используется SLC контроллер.
MLC контроллер имеет более сложный алгоритм исправления ошибок памяти и требует больше памяти на контрольные коды , так как MLC NAND более глючная.
deeper_79
Цитата(AlexandrY @ Aug 31 2012, 14:19) *
NAND у вас SLC. Но с ней можно работать и через MLC контроллер, так делает встроенный bootloader.
В моем проекте используется SLC контроллер.
MLC контроллер имеет более сложный алгоритм исправления ошибок памяти и требует больше памяти на контрольные коды , так как MLC NAND более глючная.

Добрый день!
Начал работать с MLC контроллером и наткунался на такую проблему
код имеет вид:

CODE
int NAND_read_page(unsigned int blocknum, unsigned int pagenum, unsigned char *databuff );
unsigned char buffer1[518];

int main (void) {

P3_OUTP_CLR=(0x01<<20);//низкий уровень на GPO20 выключаем пищалку
P3_OUTP_SET=(0x01<<19);//Выской уровень на ноге для снатия Read Only

FLASHCLK_CTRL=0x02;//включаем MLC контроллер и подаем тактовую частоту
MLC_CMD=Reset;
MLC_LOCK_PR=0xA25E; //Разблокируем регистры настройки
MLC_ICR=0x04;// Выбор LP устройства
MLC_LOCK_PR=0xA25E; //Разблокируем регистры настройки еще раз
byte=FLASHCLK_CTRL;

MLC_TIME_REG=(0x01<<24)+(0x0B<<19)+(0x03<<16)+(0x09<<12)+(0x02<<2)+(0x02<<4)+(0x01<<1);
NAND_read_page(10,1,buffer1);

while(1){};

}

вроде все дожно быть просто, делаю инит контроллера, но когда смотрю значения регистров MLC_CMD и всех других относящихся к MLC котроллеру там всегда значение 0х07. Со всеми остальными все ок что пишу то и вижу. Может кто скажет в чем проблема? Может я чего забыл?
на всякий случай проект
Нажмите для просмотра прикрепленного файла
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.