IPB

Здравствуйте, гость ( Вход | Регистрация )

> Linux на ARMv8 aarch64
Поделиться
kostyalamer
сообщение 16.1.2016, 21:42
Сообщение #1


Профессионал
*******

Группа: Пользователь
Сообщений: 4384
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


1) Дело хорошее good.gif
2) Железяка интересная, но не очень дешевая.
3) Держи в курсе, любопытно. Кстати , если будут какие-либо интересные результаты, чиркани в этот раздельчик: http://we.easyelectronics.ru/blog/ARM/ , думаю народу тоже будет интересно. На форуме Альта армовскую тему тоже не бросай - вода камень точит. Хотя такие темы как ARM или Arduino там особо популярными не будут , это уже не уровень новичка, разве что старожилы заинтересуются. Вообще есть такие места как http://roboforum.ru/forum59/ там серьезные люди сидят, такая штука может пойти на ура. Кстати верхняя тема как раз Linux на ARM smile.gif
4) Думаю ООО это нафиг не надо - выхлоп не тот, а хлопот много. Если только не откроешь ИП и сам не займешься этим вопросом.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
Balbes
сообщение 15.2.2016, 22:54
Сообщение #2


Мастер
******

Группа: Пользователь
Сообщений: 794
Регистрация: 9.7.2010
Вставить ник
Цитата
Пользователь №: 1865
Страна: Россия
Город: Зарайск/Московской
Пол: Муж.



Репутация: 6


Эта тема посвящена использованию Linux на платформе ARMv8 aarch64 и обсуждению этого направления.
Инструкции, инфа и основные ссылки размещаются\дублируются на Wiki

https://github.com/150balbes/Amlogic_s905/wiki
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ИВК
сообщение 12.3.2016, 23:04
Сообщение #3


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 10146
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


Цитата(Balbes @ 12.3.2016, 21:55) *
Просьба к модераторам - переименовать тему, а то название не отражает сути. Как вариант "Linux на ARMv8 aarch64", и желательно вернуть в прежний раздел, т.к. основной уклон в ней на адаптацию под клубный софт и его разработку на этой архитектуре.

Переименовал и переместил.


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Balbes
сообщение 12.3.2016, 23:42
Сообщение #4


Мастер
******

Группа: Пользователь
Сообщений: 794
Регистрация: 9.7.2010
Вставить ник
Цитата
Пользователь №: 1865
Страна: Россия
Город: Зарайск/Московской
Пол: Муж.



Репутация: 6


Цитата(IVK @ 12.3.2016, 23:04) *
Переименовал и переместил.

Благодарствую.


Тогда продолжим ...

В процессе подключения консоли, столкнулся с интересным глюком. Подключил консоль, настроил Пк на приём данных, включил приставку, пошла загрузка (и вывод в консоль процесса), всё вроде нормально, но решил выключить и запустить по новой, что-бы остановить загрузку в u-boot и поковырятся там. выключил, включаю и ..... получаю однообразный цикличный вывод

Код
GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0;                                                  
TE: 130496                                                                                                              
no sdio debug board detected                                                                                            
                                                                            
BL2 Built : 15:24:17, Oct 28 2015.                                          
gxb g5d0d038 - xiaobo.gu<>droid05                  
                                                  
Board ID = 1                                      
set vcck to 1100 mv                              
set vddee to 1000 mv                              
CPU clk: 1536MHz                                  
DDR channel setting: DDR0 Rank0+1 diff
GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0;
TE: 47953
no sdio debug board detected

BL2 Built : 15:24:17, Oct 28 2015.
gxb g5d0d038 - xiaobo.gu<>droid05

Board ID = 1
set vcck to 1100 mv
set vddee to 1000 mv
CPU clk: 1536MHz
DDR channel setting: DDR0 Rank0+1 diff
GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0;
TE: 47942
no sdio debug board detected

BL2 Built : 15:24:17, Oct 28 2015.
gxb g5d0d038 - xiaobo.gu<>droid05

Board ID = 1
set vcck to 1100 mv
set vddee to 1000 mv
CPU clk: 1536MHz
DDR channel setting: DDR0 Rank0+1 diff
GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0;
TE: 47938
no sdio debug board detected

BL2 Built : 15:24:17, Oct 28 2015.
gxb g5d0d038 - xiaobo.gu<>droid05

Board ID = 1
set vcck to 1100 mv
set vddee to 1000 mv
CPU clk: 1536MHz
DDR channel setting: DDR0 Rank0+1 diff
GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0;


Консоль на клавиши не реагирует, выключаю\включаю - результат нулевой, система не грузится вообще ... ну думаю, всё, приплыл угробил загрузчик ... dry.gif
Хотя ни чего не делал с ним (всё только в планах), только подключал консоль. Полез искать в инет что-то аналогичное и наткнулся на эту страницу

http://pastebin.com/S7WtSemF

Судя по инфе, у кого-то такая же проблема. Значит причина не в моих руках.

Полез искать дальше и наткнулся на эту тему

https://www.linux.org.ru/forum/linux-hardware/12390281

а в ней ссылка на удачный лог загрузки

http://pastebin.com/7HhU8d89

Сравнил инфу и обратил внимание, что процесс загрузки обрывается на тестировании памяти, что вроде бы не должно быть связано с самим загрузчиком. Включил приставку и стал "мацать" все микрухи на ней и о чудо, полетел процесс загрузки как и раньше. Приставка заработала. В какой микрухе\контактах проблема - так и не понял, а может быть и не в них причина, а в особенностях запуска софта, видно по логам, что при старте первичный блок загрузчика, что-то вычисляет и даёт это число в консоль.

Прикладываю еще вывод настроек u-boot и набор команд, которые он умеет, судя по ним, есть шанс заставить работать железку с любыми носителями и файловыми системами.

Код
gxb_p200_v1#printenv    
baudrate=115200
bootargs=rootfstype=ramfs init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xc81004c0 ramoops.mem_address=0x20000000 ramoops.mem_size=0x100000 ramoops.record_size=0x8000 ramoops.console_sa
bootcmd=run storeboot
bootdelay=1
bootmode_check=get_rebootmode; echo reboot_mode=${reboot_mode};if test ${reboot_mode} = factory_reset; then defenv_reserv aml_dt;setenv upgrade_step 2; save;fi;
bootup_offset=0x1080240
bootup_size=0x7e9038
cmdline_keys=if keyman init 0x1234; then if keyman read usid ${loadaddr} str; then setenv bootargs ${bootargs} androidboot.serialno=${usid};fi;if keyman read mac ${loadaddr} str; then setenv bootargs ${bootargs;
cvbsmode=576cvbs
display_bpp=32
display_color_bg=0
display_color_fg=0xffff
display_color_index=32
display_height=576
display_layer=osd1
display_width=720
dtb_mem_addr=0x1000000
edid.crcvalue=0xe0bf0000
ethact=Meson_Ethernet
ethaddr=00:15:18:01:81:31
factory_reset_poweroff_protect=echo wipe_data=${wipe_data}; echo wipe_cache=${wipe_cache};if test ${wipe_data} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb  
fb_addr=0x3f800000
fb_height=1080
fb_width=1920
fdt_high=0x20000000
firstboot=0
gatewayip=10.18.9.1
hdmimode=720p60hz
hostname=arm_gxbb
identifyWaitTime=1500
init_display=hdmitx hpd;osd open;osd clear;vout output ${outputmode};imgread pic logo bootup $loadaddr;bmp display $bootup_offset;bmp scale
initargs=rootfstype=ramfs init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xc81004c0 ramoops.mem_address=0x20000000 ramoops.mem_size=0x100000 ramoops.record_size=0x8000 ramoops.console_se
ipaddr=10.18.9.97
irremote_update=if irkey 0xe31cfb04 0xb748fb04 2500000; then echo read irkey ok!; if itest ${irkey_value} == 0xe31cfb04; then run update;else if itest ${irkey_value} == 0xb748fb04; then run update;\
fi;fi;fi;
is.bestmode=false
loadaddr=1080000
mac=20:18:0e:03:96:3a
netmask=255.255.255.0
outputmode=576cvbs
preboot=run factory_reset_poweroff_protect;run upgrade_check;run bootmode_check;run init_display;run storeargs;run upgrade_key;run switch_bootmode;
reboot_mode=cold_boot
recovery_from_flash=if imgread kernel recovery ${loadaddr}; then wipeisb; bootm ${loadaddr}; fi
recovery_from_sdcard=if fatload mmc 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload mmc 0 ${loadaddr} recovery.img; then if fatload mmc 0 ${dtb_mem_addr} dtb.img; then echo sd dtb.img load;
recovery_from_udisk=if fatload usb 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload usb 0 ${loadaddr} recovery.img; then if fatload usb 0 ${dtb_mem_addr} dtb.img; then echo udisk dtb.img lo;
sdc_burning=sdc_burn ${sdcburncfg}
sdcburncfg=aml_sdc_burn.ini
serverip=10.18.9.113
stderr=serial
stdin=serial
stdout=serial
storeargs=setenv bootargs ${initargs} logo=${display_layer},loaded,${fb_addr},${outputmode} hdmimode=${hdmimode} cvbsmode=${cvbsmode} hdmitx=${cecconfig} androidboot.firstboot=${firstboot}; run cmdline_keys;
storeboot=if imgread kernel boot ${loadaddr}; then store dtb read $dtb_mem_addr; bootm ${loadaddr}; fi;run update;
switch_bootmode=get_rebootmode;if test ${reboot_mode} = factory_reset; then run recovery_from_flash;else if test ${reboot_mode} = update; then run update;else if test ${reboot_mode} = cold_boot; then run try_au;
try_auto_burn=update 700 1500;
update=run usb_burning; run sdc_burning; if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;
upgrade_check=echo upgrade_step=${upgrade_step}; if itest ${upgrade_step} == 3; then run init_display; run storeargs; run update;else if itest ${upgrade_step} == 1; then defenv_reserv; setenv upgrade_step 2; sa;
upgrade_key=saradc open 0; if saradc get_in_range 0 0x50; then msleep 50; if saradc get_in_range 0 0x50; then echo update by key...; run update; fi;fi
upgrade_step=2
usb_burning=update 1000
wipe_cache=successful
wipe_data=successful



Код
gxb_p200_v1#help
?       - alias for 'help'
aml_sysrecovery- Burning with amlogic format package from partition sysrecovery
amlmmc  - AMLMMC sub system
amlnf   - aml nand sub-system
amlnf_test- AMLPHYNAND sub-system
autoping- do auto ping test
autoscr - run script from memory
base    - print or set address offset
bmp     - manipulate BMP image data
booti   - boot arm64 Linux Image image from memory
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
cbusreg - cbus register read/write
clkmsr  - measure PLL clock
cmp     - memory compare
cp      - memory copy
crc32   - checksum calculation
cvbs    - CVBS sub-system
dcache  - enable or disable data cache
defenv_reserv- reserve some specified envs after defaulting env
dhcp    - boot image via network using DHCP/TFTP protocol
echo    - echo args to console
efuse   - efuse read/write data commands
efuse_user- efuse user space read write ops
emmc    - EMMC sub system
env     - environment handling commands
ethchk  - check ethernet status
ethdbg  - set ethernet debug level
ethmode - set ethernet mac mode
ethrst  - reset ethernet phy
exit    - exit script
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fatsize - determine a file's size
fdt     - flattened device tree utility commands
get_rebootmode- get reboot mode
go      - start application at address 'addr'
gpio    - query and control gpio pins
hdmitx  - HDMITX sub-system
help    - print command description/usage
i2c     - I2C sub-system
icache  - enable or disable instruction cache
imgread - Read the image from internal flash with actual size
irkey   - irkey key_value1 key_value2 time_value
itest   - return true/false on integer compare
jtagoff - disable jtag
jtagon  - enable jtag
keyman  - Unify key ops interfaces based dts cfg
keyunify- key unify sub-system
loop    - infinite loop on address range
macreg  - ethernet mac register read/write/dump
md      - memory display
mdc_clk - do mdc clock
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
mw      - memory write (fill)
netspd_f- enforce eth speed
nm      - memory modify (constant address)
open_scp_log- print SCP messgage
osd     - osd sub-system
phyreg  - ethernet phy register read/write/dump
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
read_temp- cpu temp-system
reboot  - set reboot mode and reboot system
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saradc  - saradc sub-system
saveenv - save environment variables to persistent storage
sdc_burn- Burning with amlogic format package in sdmmc
sdc_update- Burning a partition with image file in sdmmc card
set_trim_base- cpu temp-system
set_usb_boot- set usb boot mode
setenv  - set environment variables
showvar - print local hushshell variables
sleep   - delay execution for some time
store   - STORE sub-system
temp_triming- cpu temp-system
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true    - do nothing, successfully
unpackimg- un pack logo image into pictures
update  - Enter v2 usbburning mode
usb     - USB sub-system
usb_burn- Burning with amlogic format package in usb
usb_update- Burning a partition with image file in usb host
usbboot - boot from USB device
version - print monitor, compiler and linker version
vout    - VOUT sub-system
vpu     - vpu sub-system
wipeisb - wipeisb
write_trim- cpu temp-system
write_version- cpu temp-system
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Сообщений в этой теме


Ответить в эту темуОткрыть новую тему
( Гостей: 1 )
Пользователей: 0

 



RSS Текстовая версия Сейчас: 4.7.2025, 7:29