Перейти к содержанию
    

Исходник BOOT0 для Allwinner R40,A40,T3

On 3/29/2022 at 3:11 AM, mantech said:

Расковыряли, но так, как не надо)))

 

 

const uint8_t __attribute__((section (".ddr.bin"))) ddr_bin[] = {
    0x37, 0x03, 0x40, 0x00, 0x73, 0x20, 0x03, 0x7c, 0x37, 0x03, 0x03, 0x00,
    0x1b, 0x03, 0x33, 0x01, 0x73, 0x20, 0x23, 0x7c, 0x6f, 0x00, 0x40, 0x08,
    0x18, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xfb, 0x7b, 0x7b, 0x00,
    0x01, 0x00, 0x00, 0x00, 0xd2,.........................куча байт)))

void sys_dram_init(void)
{
    __asm__ __volatile__("li t1, 0x30013");
    __asm__ __volatile__(".word 0x7c232073");
    ((void(*)(void))((void *)0x00030000))();

 

:)

Неплохо, для начала пойдёт!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, repstosw сказал:

Неплохо, для начала пойдёт!

Для любителей "магических чисел" самое то)))))))))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 hours ago, mantech said:

Для любителей "магических чисел" самое то)))))))))))

 

Вспомнил, что когда занимался A13 на плате Olinuxino (OLIMEX), то пришлось подкорректировать некоторые DRAM_PARAMS для DDR-памяти в исходниках. Иначе инициализация MMU завешивала программу.  Лишь только, когда раскурил более внимательно свою DDR в даташите, понял что надо поменять.  И оно всё заработало как надо! (MMU, DDR, тест всей памяти).

   

Из чего я делаю вывод, что изначально исходники были ориентированы на какую-то другую конфигурацию: например - планшет, а не дев-борда.

 

В олимексовской дев-борде стоят два чипа DDR: k482g0846q

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, repstosw сказал:

то пришлось подкорректировать некоторые DRAM_PARAMS для DDR-памяти в исходниках.

Там забиты стоковые параметры, а что поставит на плату како-либо производитель - х.з.

 

5 часов назад, repstosw сказал:

В олимексовской дев-борде стоят два чипа DDR: k482g0846q

В китайплатах раньше любили ставить 2 или 4 8и битных чипа, реже 16и битные были, видимо 8и битных у них как грязи)))

Кстати, когда разкуривали V3s откуда брали инит памяти, ссылкой не поделитесь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, mantech said:

Кстати, когда разкуривали V3s откуда брали инит памяти, ссылкой не поделитесь?

 

Инит памяти в файлах dram_sun8i_h3.c / dram_sun8i_h3.h . Функция unsigned long sunxi_dram_init(void);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, mantech said:

видимо 8и битных у них как грязи)))

Так из них DIMM'ы собирали. И разбирали :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, repstosw сказал:

Инит памяти в файлах dram_sun8i_h3.c / dram_sun8i_h3.h .

Вот такие?

https://github.com/Moxa-Linux/BIOS-UC-8200_source_code/blob/master/arch/arm/include/asm/arch-sunxi/dram_sun8i_h3.h

https://github.com/Moxa-Linux/BIOS-UC-8200_source_code/blob/master/arch/arm/cpu/armv7/sunxi/dram_sun8i_h3.c

2 часа назад, aaarrr сказал:

Так из них DIMM'ы собирали.

Да вот сколь видал диммов на ддр3 - везде 16и битки были...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

33 minutes ago, mantech said:

Вот такие?

Нет.

Из uboot-v3s

https://github.com/Dean-Chu/uboot-v3s/blob/master/arch/arm/mach-sunxi/dram_sun8i_h3.c

 

 

 

 

 

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 3/28/2022 at 8:05 AM, _3m said:

На практике юзеры с предыдущими ревизиями процессора остались без апдейтов потому что ПО выпускается только под текущую ревизию в производстве.

каким образом (никаким) ПО связано с настройками внешней памяти ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 hours ago, mantech said:

Да вот сколь видал диммов на ддр3 - везде 16и битки были...

Я бы сказал, 8 бит встерчаются много чаще. 16 на модулях малого объема и SO-DIMM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, sasamy сказал:

каким образом (никаким) ПО связано с настройками внешней памяти ?

Настройки памяти содержатся в образе прошивки. Разные ревизии процессора - разные бинарники несмотря на то что ПО одинаковое. Если зашить неправильный работать не будет потому что DDR неправильно инициализируется. Различить ревизии процессора программно невозможно.
(это был разговор о NUC970).
 

Автодетект памяти в проприетарном аллвинеровском uboot снимает вышеописанное неудобство.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если -

15 minutes ago, _3m said:

Различить ревизии процессора программно невозможно

- то не снимает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

54 minutes ago, _3m said:

Настройки памяти содержатся в образе прошивки.

когда пользовался nuc970 шил через nuwriter (есть и для вин и для лин) он записывает конфиг DDR - ему просто указывается файл ini c настойками DDR, к ПО которое записывается  это вообще никак не относится

https://github.com/OpenNuvoton/NUC970_NuWriter_CMD/tree/master/nudata/sys_cfg

1 hour ago, _3m said:

Различить ревизии процессора программно невозможно.

тот кто записывает знает какой он процессор зашивает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 минут назад, sasamy сказал:

тот кто записывает знает какой он процессор зашивает.

Не знает!
У вас опломбированное устройство. Какая ревизия процессора в нем стоит ?
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...