Jump to content

    

Загрузка программы из NAND

Здравствуйте, уважаемые форумчане.

Скажите, если я хочу загрузиться из внешнего NANDа в ARM926 (TI DM368), какова должна быть последовательность действий?

Я делаю так:

 

1) пишу программу на CCS5, выходной файл - prog.out

2) С помощью утилиты hex470.exe преобразую его в prog.b0 (бинарник)

3) JTAG-ом заливаю в NAND-память (тут сразу вопрос - по 2048 Б заливать, или по 2048+64Б ?).

4) Выставлением джамперов ставлю загрузку процессора с NAND.

5) Перезагрузка - и ничего на работает.

6) Слышал, что нужен uboot, но до него ещё, похоже, плыть и плыть.

 

 

Share this post


Link to post
Share on other sites

сам nаnd chip позволяет с него бутиться?

Share this post


Link to post
Share on other sites

Да, в тестовой программе работает. Скажите, пишут что размер страницы 2048+64. При загрузке страница считывается по 2048 или по 2048+64 байта?

Share this post


Link to post
Share on other sites

Зашивать надо 2048 + 64 байта. Эти 64 байта могут быть либо нулями, если процессор не проверяет их, либо там должны быть контрольные суммы. Т.е. ваша прошивка в файле должна выглядеть так; 2048 (данные1) + 64 байт(нули или контрольные суммы) + 2048 (данные2) и т.д.

Но лучше поручить это юбуту, таким образов Вам нужно будет лишь правильно прошить юбут, который, обычно, влезает в одну страницу. А остальную прошивку заливать юбутом непрерывным файлом, а уж он сам разберется куда и как вставлять лишние 64 байта.

Share this post


Link to post
Share on other sites
Эти 64 байта могут быть либо нулями...

Вот только не нулями - первый байт spare-области в первых двух страницах каждого блока должен быть равен 0xFF, если блок исправен.

Share this post


Link to post
Share on other sites

Да, Вы правы, в общем надо сделать их в соответствии с даташитом.

Share this post


Link to post
Share on other sites

Большое спасибо. Так вот я и и пишу юбут. Под давинчи DM368. Тут ещё смотрю, правильно ли я бинарник делаю из out файла. Если можно,

киньте ссылку на правильное пользование hex470.exe, в частности на опции -image, -fill, -zero, не совсем понял что это такое .

 

Ещё один вопрос, если можно.

В даташите по загрузке из NAND юбут может располагаться (как я понял) в блоках с 1 по 24, нумерация страниц при загрузке - с 0 для каждого блока.

У меня в код композере нумерация страниц сквозная для всех блоков, количество страниц в блоке - 64.

То есть, если мне надо расположить юбут в блоке 1, страница 1, я пишу у себя страницу 65?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this