История изменений
Исправление
IvanR,
(текущая версия)
:
нашел в описании uboot
# fatload usb <dev>[:partition] <loadAddress> <bootfilename>
This command reads file bootfilename from device dev, partition partition of the USB flash disk into
the RAM address loadAddress.
в uboot есть команда printenv, вот что она показывает:
loadaddr=0x42000000
...
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
то есть, можно стчитать, что ядро загружено в ram по адресу 0x42000000 и регистр IP, в случае arm PC показывает на смещение в ядре относительно адреса 0x42000000, значит нам нужно взять адрес в PC и вычесть из него адрес 0x42000000, тогда мы получим адрес относительно начала сегмента кода в ядре, я правильно понял? тогда мы можем с помощью addr2line найти файл и строку в которой происходит сбой?
хотя наверно не получится, оно грузится по этому адресу с учетом заголовков
Исправление
IvanR,
:
нашел в описании uboot
# fatload usb <dev>[:partition] <loadAddress> <bootfilename>
This command reads file bootfilename from device dev, partition partition of the USB flash disk into
the RAM address loadAddress.
в uboot есть команда printenv, вот что она показывает:
loadaddr=0x42000000
...
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
то есть, можно стчитать, что ядро загружено в ram по адресу 0x42000000 и регистр IP, в случае arm PC показывает на смещение в ядре относительно адреса 0x42000000, значит нам нужно взять адрес в PC и вычесть из него адрес 0x42000000, тогда мы получим адрес относительно начала сегмента кода в ядре, я правильно понял? тогда мы можем с помощью addr2line найти файл и строку в которой происходит сбой?
Исходная версия
IvanR,
:
нашел в описании uboot
[code]
fatload usb [:partition]
This command reads file bootfilename from device dev, partition partition of the USB flash disk into the RAM address loadAddress. [/code]
в uboot есть команда printenv, вот что она показывает:
[code] loadaddr=0x42000000 … loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image} [/code]
то есть, можно стчитать, что ядро загружено в ram по адресу 0x42000000 и регистр IP, в случае arm PC показывает на смещение в ядре относительно адреса 0x42000000, значит нам нужно взять адрес в PC и вычесть из него адрес 0x42000000, тогда мы получим адрес относительно начала сегмента кода в ядре, я правильно понял? тогда мы можем с помощью addr2line найти файл и строку в которой происходит сбой?