- The CFE boot delay est à 1 seconde, mais je ne parviens pas à envoyé de caractère ou à interrompre le boot (EDIT sur la carte on peut suivre la ligne du circuit imprimé qui arrive bien sur le CPU, par contre on notre qu'il "pourrait" manqué 1 resistance (de pullup ?) entre un point du 3.3V et la ligne RX, j'ai tenté d'intercaler un resistance de 1K ohm mais sans succès ...
Dans les traces de boot :
D%G----
BTRM
...
----
HELO
5.0205p1-1.0.38-163.181
----
...
Base: 5.2_05p1
CFE version 1.0.38-163.181 for BCM96856 (64bit,SP,LE)
Build Date: Tue Jun 16 14:51:57 CST 2020
Copyright (C) 2000-2015 Broadcom Corporation.
Boot Strap Register: 0x53008056
Chip ID: BCM68360_B1, Broadcom B53 Dual Core: 1500MHz
Le CFE correspond à
https://github.com/RMerl/asuswrt-merlin.ng/tree/e401e313fac7b7fda9e0b94e1ec13995d88aebb6/release/src-rt-5.02axhnd/cfe (du moins pour la version de de base 1.0.38-163.181, chaque fabriquant peut faire des modification).
On n'a pas la version du SDK dans ce dossier (le version.make), et à d'autres endroits il y a des 5.02.07 dans l'historique, mais pas 5.02.05p1 comme ici.
Si on regarde les sources :
- BTRM = Boot ROM
- HELO c'est le début du CFE (cfe/cfe/arch/arm/common/src/init_arm_aarch64.S ligne 190), probablement le CFE ROM (même si les makefiles semblent mettre le code dans les deux).
- "Base: 5.2_05p1" c'est le début du CFE RAM (cfe/cfe/board/bcm63xx_ram/src/bcm63xx_main.c)
Les traces PAR1/PAR2, avec UBI# ça indique des partitions, mais tant qu'on n'a pas de dump ça ne sert pas à grand chose.
Pour le "Press any key to stop auto run" :
- bizarrement le code de runDelay oblige à l'afficher (si la valeur est configurée à 0, alors pas de boot automatique)
- console_status teste si une touche a été appuyée, à priori ça devrait fonctionner, sauf si le code a été modifié, ou si cfe_set_console n'a pas été appelé, ou bien sûr si quelque chose empêche le fonctionnement au niveau HW
Sur l'UART en général :
- dans cfe/arch/arm/board/bcm63xx_shared/src/bcm63xx_impl2_common.S, l'UART semble ouverte en rw, sauf pour le BTRM (INC_BTRM_BUILD==1)
- je ne vois pas d'appel à cfe_set_console, c'est peut-être dans un fichier de board absent
- sans cfe_set_console, il n'y aurait à priori pas de trace, à part dans le CFE ROM (qui a "xprinthook = board_puts;")
- en recherchant board_getc, je vois que le CFE ROM pourrait avoir une fonction chek_abort_key, et être interrompu en envoyant "a"
BCM6830 "OK" FFBG (pas certain du OK
BCM68360 d'après les traces de boot.
Toujour aucune idée sur la fonction du connecteur JP1 qui se compose d'une masse et 2 pistes qui semblent aller directement au CPU et qui sont à 3.3V(malheureusement pas d'osciloscope pour voir le type de signal) mais le voltage varie un peu pendant le boot...
Je pense que c'est un bus I2C, relié au chip du contrôle le laser, et probablement au SoC aussi.