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

 
 
> LPC3250 Flash algoritm
deeper_79
сообщение Aug 29 2012, 07:36
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154



Существует ли в природе алгоритм програмиррования Flash с LP(Large Page) для LPC3250 для Keil или надо самому все ваять. Может кто делал такой?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 11)
AlexandrY
сообщение Aug 29 2012, 08:05
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(deeper_79 @ Aug 29 2012, 10:36) *
Существует ли в природе алгоритм програмиррования Flash с LP(Large Page) для LPC3250 для Keil или надо самому все ваять. Может кто делал такой?


Что за Flash - NAND, NOR ...?
Алгоритм сильно зависит от платформы на которой стоит микроконтроллер и IDE , поэтому постановка вопроса некорректна.
Go to the top of the page
 
+Quote Post
deeper_79
сообщение Aug 29 2012, 08:14
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154



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

Сорри, flash типа NAND Samsung K1F9G08U0B как я понимаю это память с Large Page а в mVision 4.54 есть алгоритмы только с Small Page, работаю с отдладочным модулем DevKit3250.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 29 2012, 08:31
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(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
Go to the top of the page
 
+Quote Post
deeper_79
сообщение Aug 29 2012, 09:33
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154



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

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

и еще вопрос если мне все таки придется пределывать алгоритм програмирования можно ли его отлаживать и через jtag?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 29 2012, 10:04
Сообщение #6


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



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

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


Да, это название микросхемы. Вроде как функциональный аналог K9F1G08U0B
Алгоритм через JTAG отлаживать не удастся, так как в тоже самое время JTAG используется для взаимодействия с ядром в процессе программирования.
Я при отладке программирования использовал вывод в UART.
Да, и еще у меня программирует не загрузочный образ, а собственный формат (контроль ECC другой). Поэтому встроенный в uC bootloader прямо из NAND программу не запустит.
Go to the top of the page
 
+Quote Post
deeper_79
сообщение Aug 29 2012, 10:19
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154



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

а где этот алгоритм взять что то я его найти не могу, может Вы мне его скинете попробую на его основе свой написать
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 29 2012, 14:55
Сообщение #8


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



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

Это не алгоритм, а проект.
Но там есть алгоритм wink.gif
KeilLoader_NAND
Go to the top of the page
 
+Quote Post
deeper_79
сообщение Aug 30 2012, 07:10
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154



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

Спасибо буду ковырять!!!!
Если будут вопросы надеюсь можно спросить?
Go to the top of the page
 
+Quote Post
deeper_79
сообщение Aug 31 2012, 09:13
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154



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

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

MLC SLC контоллеры, какой включать? Как я понял это разные типы Flash, но в datasheet на микросхему я ничего не нашел(или плохо искал)
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 31 2012, 11:19
Сообщение #11


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(deeper_79 @ Aug 31 2012, 12:13) *
Еще один вопросик

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


NAND у вас SLC. Но с ней можно работать и через MLC контроллер, так делает встроенный bootloader.
В моем проекте используется SLC контроллер.
MLC контроллер имеет более сложный алгоритм исправления ошибок памяти и требует больше памяти на контрольные коды , так как MLC NAND более глючная.
Go to the top of the page
 
+Quote Post
deeper_79
сообщение Sep 10 2012, 07:26
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154



Цитата(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. Со всеми остальными все ок что пишу то и вижу. Может кто скажет в чем проблема? Может я чего забыл?
на всякий случай проект
Прикрепленный файл  test_nand_MLC.rar ( 1.39 мегабайт ) Кол-во скачиваний: 67


Сообщение отредактировал IgorKossak - Sep 10 2012, 07:59
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post

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

 


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


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