hi3798mv100 icon indicating copy to clipboard operation
hi3798mv100 copied to clipboard

hi3796 编译出来没有网络

Open QGB opened this issue 1 year ago • 4 comments

在uboot中 设置好ip 也不能ping

Hi3796mv100 简介主要特点:

CPU
四核 ARM Cortex A7
集成多媒体加速引擎 NEON
硬件 JAVA 加速
集成硬件浮点协处理器
3D GPU
四核 Mali450
OpenGL ES 2.0/1.1/1.0 OpenVG 1.1,EGL
存储器控制接口
DDR3/3L 接口
最大容量2GB
内存位宽32bit
最高频率可达800MHz/DDR1600
支持 NAND Flash
支持SLC/MLC器件
支持8bit数据位宽
最大容量64GB
最大64bit ECC纠错

QGB avatar Sep 30 '22 09:09 QGB


# cat /proc/cpuinfo
processor       : 0
Processor       : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 1191.93
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

processor       : 1
Processor       : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 1198.08
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

processor       : 2
Processor       : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 1198.08
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

processor       : 3
Processor       : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 1198.08
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

Hardware        : bigfish
Revision        : 0000
Serial          : 0000000000000000
#
Bootrom start
Boot from eMMC
Starting fastboot ...


System startup
DDRS
Reg Version:  v1.1.0
Reg Time:     2015/5/5   17:31:59
Reg Name:     hi3796mdmo1a_hi3796mv100_ddr3_1gbyte_16bitx2_4layers_emmc.reg

Jump to DDR


Fastboot 3.3.0-dirty (qgb@) (Sep 30 2022 - 15:01:32)

Fastboot:      Version 3.3.0
Build Date:    Sep 30 2022, 15:03:23
CPU:           Hi3796Mv100
Boot Media:    eMMC
DDR Size:      1GB


MMC/SD controller initialization.
MMC/SD Card:
    MID:         0x90
    Read Block:  512 Bytes
    Write Block: 512 Bytes
    Chip Size:   7456M Bytes (High Capacity)
    Name:        "H8G1e"
    Chip Type:   MMC
    Version:     5.0
    Speed:       52000000Hz
    Mode:        DDR50
    Bus Width:   8bit
    Boot Addr:   0 Bytes
Net:   upWarning: failed to set MAC address


Boot Env on eMMC
    Env Offset:          0x00100000
    Env Size:            0x00010000
    Env Range:           0x00010000
ID_WORD have already been locked


SDK Version: HiSTBLinuxV100R005C00SPC041B020_20161028

Reserve Memory
    Start Addr:          0x3FFFE000
    Bound Addr:          0x8D16000
    Free  Addr:          0x3E900000
    Alloc Block:  Addr         Size
                  0x3FBFD000   0x400000
                  0x3F8FC000   0x300000
                  0x3F87B000   0x80000
                  0x3F878000   0x2000
                  0x3F288000   0x5EF000
                  0x3F284000   0x3000
                  0x3EA9A000   0x7E9000
                  0x3EA96000   0x3000
                  0x3E900000   0x195000

Press Ctrl+C to stop autoboot

MMC read: dev # 0, block # 45056, count 16384 ... 16384 blocks read: OK

63010335 Bytes/s
## Booting kernel from Legacy Image at 01ffffc0 ...
   Image Name:   Linux-3.18.24_s40
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4951192 Bytes = 4.7 MiB
   Load Address: 02000000
   Entry Point:  02000000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK
ATAGS [0x00000100 - 0x000003E4], 740Bytes

Starting kernel ...


Booting Linux on physical CPU 0x0
Linux version 3.18.24_s40 (qgb@ubuntu) (gcc version 4.9.2 20140904 (prerelease) (gcc-4.9.2 + glibc-2.22 (Build by czyong) Wed Mar 9 16:30:48 CST 2016) ) #1 SMP Fri Sep 30 14:16:34 CST 2022

QGB avatar Oct 02 '22 03:10 QGB

Bootrom start
Boot from eMMC
Starting fastboot ...


System startup
DDRS
Reg Version:  v1.1.0
Reg Time:     2015/5/5   17:31:59
Reg Name:     hi3796mdmo1a_hi3796mv100_ddr3_1gbyte_16bitx2_4layers_emmc.reg

Jump to DDR


Fastboot 3.3.0-dirty (qgb@) (Sep 30 2022 - 15:01:32)

Fastboot:      Version 3.3.0
Build Date:    Sep 30 2022, 15:03:23
CPU:           Hi3796Mv100
Boot Media:    eMMC
DDR Size:      1GB


MMC/SD controller initialization.
MMC/SD Card:
    MID:         0x90
    Read Block:  512 Bytes
    Write Block: 512 Bytes
    Chip Size:   7456M Bytes (High Capacity)
    Name:        "H8G1e"
    Chip Type:   MMC
    Version:     5.0
    Speed:       52000000Hz
    Mode:        DDR50
    Bus Width:   8bit
    Boot Addr:   0 Bytes
Net:   upWarning: failed to set MAC address


Boot Env on eMMC
    Env Offset:          0x00100000
    Env Size:            0x00010000
    Env Range:           0x00010000
ID_WORD have already been locked


SDK Version: HiSTBLinuxV100R005C00SPC041B020_20161028

Reserve Memory
    Start Addr:          0x3FFFE000
    Bound Addr:          0x8D16000
    Free  Addr:          0x3E900000
    Alloc Block:  Addr         Size
                  0x3FBFD000   0x400000
                  0x3F8FC000   0x300000
                  0x3F87B000   0x80000
                  0x3F878000   0x2000
                  0x3F288000   0x5EF000
                  0x3F284000   0x3000
                  0x3EA9A000   0x7E9000
                  0x3EA96000   0x3000
                  0x3E900000   0x195000

Press Ctrl+C to stop autoboot

MMC read: dev # 0, block # 45056, count 16384 ... 16384 blocks read: OK

78698288 Bytes/s
## Booting kernel from Legacy Image at 01ffffc0 ...
   Image Name:   Linux-5.4.215_s40
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5726496 Bytes = 5.5 MiB
   Load Address: 02000000
   Entry Point:  02000000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK
ATAGS [0x00000100 - 0x000003E4], 740Bytes

Starting kernel ...

卡住无法启动

QGB avatar Oct 02 '22 03:10 QGB

qgb@ubuntu:~/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020$ grep -rwnIi ./ -e LOADADDR
./out/hi3796mv100/hi3796mdmo1a/obj/source/kernel/linux-5.4.215/arch/arm/kernel/vmlinux.lds:31: __vectors_lma = .; OVERLAY 0xffff0000 : NOCROSSREFS AT(__vectors_lma) { .vectors { *(.vecto
rs) } .vectors.bhb.loop8 { *(.vectors.bhb.loop8) } .vectors.bhb.bpiall { *(.vectors.bhb.bpiall) } } __vectors_start = LOADADDR(.vectors); __vectors_end = LOADADDR(.vectors) + SIZEOF(.vec
tors); __vectors_bhb_loop8_start = LOADADDR(.vectors.bhb.loop8); __vectors_bhb_loop8_end = LOADADDR(.vectors.bhb.loop8) + SIZEOF(.vectors.bhb.loop8); __vectors_bhb_bpiall_start = LOADADD
R(.vectors.bhb.bpiall); __vectors_bhb_bpiall_end = LOADADDR(.vectors.bhb.bpiall) + SIZEOF(.vectors.bhb.bpiall); . = __vectors_lma + SIZEOF(.vectors) + SIZEOF(.vectors.bhb.loop8) + SIZEOF
(.vectors.bhb.bpiall); __stubs_lma = .; .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_lma) { *(.stubs) } __stubs_start = LOADADDR(.stubs); __stubs_end = LOADADDR(.stubs) + SIZEOF(.stubs);
. = __stubs_lma + SIZEOF(.stubs); PROVIDE(vector_fiq_offset = vector_fiq - ADDR(.vectors));
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/env/fw_env.c:194: "loadaddr=" MK_STR (CONFIG_LOADADDR) "\0"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:235:  uint32_t         loadAddr;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:310:  loadAddr  =  0;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:317:   loadAddr = sectHeader[i].sh_addr;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:318:   loadDiff = loadAddr - sectHeader[i].sh_offset;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:321:   loadAddr = sectHeader[i].sh_offset + loadDiff;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:324:      if (loadAddr < firstAddr)
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:325:   firstAddr = loadAddr;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:337:   (void)BuildSRecord(srecLine, 3, loadAddr + loadOffset, rxBlock, rxCount);
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/tools/img2srec.c:339:   loadAddr += rxCount;
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_net.c:166:   if ((s = getenv("loadaddr")) != NULL) {
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_nvedit.c:389:        if (strncmp(argv[1], "loadaddr", sizeof("loadaddr")) == 0) {
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/update.c:262:    if ((env_addr = getenv("loadaddr")) != NULL)
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_reiser.c:127:                addr_str = getenv("loadaddr");
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/env_common.c:139:        "loadaddr="     MK_STR(CONFIG_LOADADDR)         "\0"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_load.c:447:  /* pre-set offset from $loadaddr */
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_load.c:448:  if ((s = getenv("loadaddr")) != NULL) {
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_usb.c:760:   "loadAddr dev:part"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_elf.c:106:    * Check the loadaddr variable.
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_bootm.c:1588:        setenv("loadaddr", str);
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/env_embedded.c:172:      "loadaddr="     MK_STR(CONFIG_LOADADDR)         "\0"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_fdos.c:48:    if ((ep = getenv("loadaddr")) != NULL) {
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_fdos.c:146:  "[loadAddr] [filename]"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_scsi.c:632:  "loadAddr dev:part"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_ide.c:2121:  "loadAddr dev:part"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_nand.c:808:  "[partition] | [[[loadAddr] dev] offset]"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_fdc.c:906:   "loadAddr drive"
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/common/cmd_ext2.c:141:          addr_str = getenv("loadaddr");
./out/hi3796mv100/hi3796mdmo1a/obj/source/boot/fastboot/arch/arm/lib/board.c:444:       if ((s = getenv ("loadaddr")) != NULL) {
./source/kernel/linux-3.18.y/arch/arm/mach-hi3798mx/Makefile.boot:4:LOADADDR    := 0x02000000
./source/kernel/linux-3.18.y/arch/arm/mach-s40/Makefile.boot:4:LOADADDR := 0x02000000
./source/kernel/linux-3.18.y/arch/arm/mach-hi3796mv2x/Makefile.boot:4:LOADADDR  := 0x02000000
./source/kernel/linux-3.18.y/arch/arm/mach-hi3798cv2x/Makefile.boot:4:LOADADDR  := 0x02000000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:2:loadaddr-y  :=
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:3:loadaddr-$(CONFIG_MACH_APE6EVM) += 0x40008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:4:loadaddr-$(CONFIG_MACH_APE6EVM_REFERENCE) += 0x40008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:5:loadaddr-$(CONFIG_MACH_ARMADILLO800EVA) += 0x40008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:6:loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:7:loadaddr-$(CONFIG_MACH_BOCKW_REFERENCE) += 0x60008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:8:loadaddr-$(CONFIG_MACH_KOELSCH) += 0x40008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:9:loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:10:loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:11:loadaddr-$(CONFIG_MACH_LAGER) += 0x40008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:12:loadaddr-$(CONFIG_MACH_MACKEREL) += 0x40008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:13:loadaddr-$(CONFIG_MACH_MARZEN) += 0x60008000
./source/kernel/linux-3.18.y/arch/arm/mach-shmobile/Makefile.boot:15:__ZRELADDR := $(sort $(loadaddr-y))
./source/kernel/linux-3.18.y/arch/arm/boot/Makefile:73:ifneq ($(LOADADDR),)
./source/kernel/linux-3.18.y/arch/arm/boot/Makefile:74:  UIMAGE_LOADADDR=$(LOADADDR)
./source/kernel/linux-3.18.y/arch/arm/boot/Makefile:87: echo 'Specify LOADADDR on the commandline to build an uImage'; \
./source/kernel/linux-3.18.y/arch/arm/mach-hi3798mv2x/Makefile.boot:4:LOADADDR  := 0x02000000
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:83:     .data : AT(LOADADDR(.bss) + SIZEOF(.bss))
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:113:    __data_lma = LOADADDR(.data);
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:146:    .text_l1 L1_CODE_START : AT(LOADADDR(.exit.data) + SIZEOF(.exit.data))
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:165:    __init_data_lma = LOADADDR(.init.data);
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:182:    __text_l1_lma = LOADADDR(.text_l1);
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:202:    __data_l1_lma = LOADADDR(.data_l1);
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:219:    __data_b_l1_lma = LOADADDR(.data_b_l1);
./source/kernel/linux-3.18.y/arch/blackfin/kernel/vmlinux.lds.S:245:    __l2_lma = LOADADDR(.text_data_l2);
./source/kernel/linux-3.18.y/arch/xtensa/kernel/vmlinux.lds.S:50:       LONG(LOADADDR(section))
./source/kernel/linux-3.18.y/arch/xtensa/kernel/vmlinux.lds.S:67:  section addr : AT((MIN(LOADADDR(prevsec) + max_prevsec_size,             \
./source/kernel/linux-3.18.y/arch/xtensa/kernel/vmlinux.lds.S:68:                        LOADADDR(prevsec) + SIZEOF(prevsec)) + 3) & ~ 3)   \
./source/kernel/linux-3.18.y/arch/xtensa/kernel/vmlinux.lds.S:281:  . = (LOADADDR( .DoubleExceptionVector.text ) + SIZEOF( .DoubleExceptionVector.text ) + 3) & ~ 3;
./source/kernel/linux-3.18.y/arch/xtensa/kernel/vmlinux.lds.S:297:  . = LOADADDR(.SecondaryResetVector.text)+SIZEOF(.SecondaryResetVector.text);
./source/kernel/linux-3.18.y/arch/xtensa/boot/boot-elf/boot.lds.S:34:   .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
./source/kernel/linux-3.18.y/arch/xtensa/boot/boot-redboot/boot.ld:45:  .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
./source/kernel/linux-3.18.y/arch/arm64/boot/Makefile:45:       echo 'Specify LOADADDR on the commandline to build an uImage'; \
./source/kernel/linux-3.18.y/arch/mips/include/asm/sn/mapped_kernel.h:12: * compiled at cksseg segment (LOADADDR = 0xc001c000), and the
./source/kernel/linux-3.18.y/fs/adfs/dir_f.c:215:       obj->loadaddr = adfs_readval(de->dirload, 4);
./source/kernel/linux-3.18.y/fs/adfs/dir_f.c:226:               (0xfff00000 == (0xfff00000 & obj->loadaddr))) {
./source/kernel/linux-3.18.y/fs/adfs/dir_f.c:227:               obj->filetype = (__u16) ((0x000fff00 & obj->loadaddr) >> 8);
./source/kernel/linux-3.18.y/fs/adfs/dir_f.c:245:       adfs_writeval(de->dirload, 4, obj->loadaddr);
./source/kernel/linux-3.18.y/fs/adfs/super.c:467:       root_obj.loadaddr  = 0xfff0003f;
./source/kernel/linux-3.18.y/fs/adfs/adfs.h:28: __u32           loadaddr;       /* RISC OS load address         */
./source/kernel/linux-3.18.y/fs/adfs/adfs.h:104:        __u32           loadaddr;               /* load address         */
./source/kernel/linux-3.18.y/fs/adfs/adfs.h:111:        /* RISC OS file type (12-bit: derived from loadaddr) */
./source/kernel/linux-3.18.y/fs/adfs/inode.c:183:       high = ADFS_I(inode)->loadaddr & 0xFF; /* top 8 bits of timestamp */
./source/kernel/linux-3.18.y/fs/adfs/inode.c:224:               ADFS_I(inode)->loadaddr = (high >> 24) |
./source/kernel/linux-3.18.y/fs/adfs/inode.c:225:                               (ADFS_I(inode)->loadaddr & ~0xff);
./source/kernel/linux-3.18.y/fs/adfs/inode.c:266:       ADFS_I(inode)->loadaddr  = obj->loadaddr;
./source/kernel/linux-3.18.y/fs/adfs/inode.c:270:       ADFS_I(inode)->stamped   = ((obj->loadaddr & 0xfff00000) == 0xfff00000);
./source/kernel/linux-3.18.y/fs/adfs/inode.c:364:       obj.loadaddr    = ADFS_I(inode)->loadaddr;
./source/kernel/linux-3.18.y/fs/adfs/dir_fplus.c:182:   obj->loadaddr = le32_to_cpu(bde.bigdirload);
./source/kernel/linux-3.18.y/fs/adfs/dir_fplus.c:206:           (0xfff00000 == (0xfff00000 & obj->loadaddr))) {
./source/kernel/linux-3.18.y/fs/adfs/dir_fplus.c:207:           obj->filetype = (__u16) ((0x000fff00 & obj->loadaddr) >> 8);
./source/kernel/linux-5.4.215/arch/arm/kernel/vmlinux.lds.h:38: sym##_start = LOADADDR(section);                                \
./source/kernel/linux-5.4.215/arch/arm/kernel/vmlinux.lds.h:39: sym##_end = LOADADDR(section) + SIZEOF(section)
./source/kernel/linux-5.4.215/arch/arm/kernel/vmlinux-xip.lds.S:145:    _edata_loc = LOADADDR(.data.endmark);
./source/kernel/linux-5.4.215/arch/arm/boot/Makefile:71:ifneq ($(LOADADDR),)
./source/kernel/linux-5.4.215/arch/arm/boot/Makefile:72:  UIMAGE_LOADADDR=$(LOADADDR)
./source/kernel/linux-5.4.215/arch/arm/boot/Makefile:85:        echo 'Specify LOADADDR on the commandline to build an uImage'; \
./source/kernel/linux-5.4.215/arch/h8300/kernel/vmlinux.lds.S:61:       _begin_data = LOADADDR(.data);
./source/kernel/linux-5.4.215/arch/xtensa/kernel/vmlinux.lds.S:46:      LONG(LOADADDR(section))
./source/kernel/linux-5.4.215/arch/xtensa/kernel/vmlinux.lds.S:57:  section addr : AT(((LOADADDR(prevsec) + SIZEOF(prevsec)) + 3) & ~ 3)      \
./source/kernel/linux-5.4.215/arch/xtensa/kernel/vmlinux.lds.S:278:  . = (LOADADDR( .DoubleExceptionVector.text ) + SIZEOF( .DoubleExceptionVector.text ) + 3) & ~ 3;
./source/kernel/linux-5.4.215/arch/xtensa/kernel/vmlinux.lds.S:288:  . = LOADADDR(.SecondaryResetVector.text)+SIZEOF(.SecondaryResetVector.text);
./source/kernel/linux-5.4.215/arch/xtensa/boot/boot-elf/boot.lds.S:31:  .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
./source/kernel/linux-5.4.215/arch/xtensa/boot/boot-redboot/boot.ld:45: .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
./source/kernel/linux-5.4.215/arch/mips/include/asm/sn/mapped_kernel.h:13: * compiled at cksseg segment (LOADADDR = 0xc001c000), and the
./source/kernel/linux-5.4.215/fs/adfs/dir_f.c:207:      obj->loadaddr = adfs_readval(de->dirload, 4);
./source/kernel/linux-5.4.215/fs/adfs/dir_f.c:222:      adfs_writeval(de->dirload, 4, obj->loadaddr);
./source/kernel/linux-5.4.215/fs/adfs/super.c:485:      root_obj.loadaddr  = 0xfff0003f;
./source/kernel/linux-5.4.215/fs/adfs/adfs.h:15:static inline u16 adfs_filetype(u32 loadaddr)
./source/kernel/linux-5.4.215/fs/adfs/adfs.h:17:        return (loadaddr & 0xfff00000) == 0xfff00000 ?
./source/kernel/linux-5.4.215/fs/adfs/adfs.h:18:               (loadaddr >> 8) & 0xfff : ADFS_FILETYPE_NONE;
./source/kernel/linux-5.4.215/fs/adfs/adfs.h:37:        __u32           loadaddr;       /* RISC OS load address         */
./source/kernel/linux-5.4.215/fs/adfs/adfs.h:50:        return (ADFS_I(inode)->loadaddr & 0xfff00000) == 0xfff00000;
./source/kernel/linux-5.4.215/fs/adfs/adfs.h:114:       __u32           loadaddr;               /* load address         */
./source/kernel/linux-5.4.215/fs/adfs/dir.c:43:         u16 filetype = adfs_filetype(obj->loadaddr);
./source/kernel/linux-5.4.215/fs/adfs/inode.c:97:       switch (adfs_filetype(ADFS_I(inode)->loadaddr)) {
./source/kernel/linux-5.4.215/fs/adfs/inode.c:180:      high = ADFS_I(inode)->loadaddr & 0xFF; /* top 8 bits of timestamp */
./source/kernel/linux-5.4.215/fs/adfs/inode.c:221:              ADFS_I(inode)->loadaddr = (high >> 24) |
./source/kernel/linux-5.4.215/fs/adfs/inode.c:222:                              (ADFS_I(inode)->loadaddr & ~0xff);
./source/kernel/linux-5.4.215/fs/adfs/inode.c:263:      ADFS_I(inode)->loadaddr  = obj->loadaddr;
./source/kernel/linux-5.4.215/fs/adfs/inode.c:359:      obj.loadaddr    = ADFS_I(inode)->loadaddr;
./source/kernel/linux-5.4.215/fs/adfs/dir_fplus.c:177:  obj->loadaddr = le32_to_cpu(bde.bigdirload);
./source/kernel/linux-5.19.12/arch/arm/kernel/vmlinux-xip.lds.S:145:    _edata_loc = LOADADDR(.data.endmark);
./source/kernel/linux-5.19.12/arch/arm/include/asm/vmlinux.lds.h:39:    sym##_start = LOADADDR(section);                                \
./source/kernel/linux-5.19.12/arch/arm/include/asm/vmlinux.lds.h:40:    sym##_end = LOADADDR(section) + SIZEOF(section)
./source/kernel/linux-5.19.12/arch/arm/boot/Makefile:71:ifneq ($(LOADADDR),)
./source/kernel/linux-5.19.12/arch/arm/boot/Makefile:72:  UIMAGE_LOADADDR=$(LOADADDR)
./source/kernel/linux-5.19.12/arch/arm/boot/Makefile:85:        echo 'Specify LOADADDR on the commandline to build an uImage'; \
./source/kernel/linux-5.19.12/arch/riscv/kernel/vmlinux-xip.lds.S:138:  _edata_loc = LOADADDR(.data.endmark);
./source/kernel/linux-5.19.12/arch/xtensa/kernel/vmlinux.lds.S:48:      LONG(LOADADDR(section))
./source/kernel/linux-5.19.12/arch/xtensa/kernel/vmlinux.lds.S:64:  section addr : AT(((LOADADDR(prevsec) + SIZEOF(prevsec)) + 3) & ~ 3)      \
./source/kernel/linux-5.19.12/arch/xtensa/kernel/vmlinux.lds.S:325:  . = (LOADADDR(LAST) + SIZEOF(LAST) + 3) & ~ 3;
./source/kernel/linux-5.19.12/arch/xtensa/kernel/vmlinux.lds.S:345:  (CONFIG_XIP_DATA_ADDR - (LOADADDR(.dummy1) + SIZEOF(.dummy1) + 3) & ~ 3)
./source/kernel/linux-5.19.12/arch/xtensa/boot/boot-elf/boot.lds.S:31:  .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
./source/kernel/linux-5.19.12/arch/xtensa/boot/boot-redboot/boot.ld:45: .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
./source/kernel/linux-5.19.12/arch/mips/include/asm/sn/mapped_kernel.h:13: * compiled at cksseg segment (LOADADDR = 0xc001c000), and the
./source/kernel/linux-5.19.12/fs/adfs/dir_f.c:189:      obj->loadaddr = adfs_readval(de->dirload, 4);
./source/kernel/linux-5.19.12/fs/adfs/dir_f.c:204:      adfs_writeval(de->dirload, 4, obj->loadaddr);
./source/kernel/linux-5.19.12/fs/adfs/super.c:414:      root_obj.loadaddr  = 0xfff0003f;
./source/kernel/linux-5.19.12/fs/adfs/adfs.h:15:static inline u16 adfs_filetype(u32 loadaddr)
./source/kernel/linux-5.19.12/fs/adfs/adfs.h:17:        return (loadaddr & 0xfff00000) == 0xfff00000 ?
./source/kernel/linux-5.19.12/fs/adfs/adfs.h:18:               (loadaddr >> 8) & 0xfff : ADFS_FILETYPE_NONE;
./source/kernel/linux-5.19.12/fs/adfs/adfs.h:36:        __u32           loadaddr;       /* RISC OS load address         */
./source/kernel/linux-5.19.12/fs/adfs/adfs.h:49:        return (ADFS_I(inode)->loadaddr & 0xfff00000) == 0xfff00000;
./source/kernel/linux-5.19.12/fs/adfs/adfs.h:117:       __u32           loadaddr;               /* load address         */
./source/kernel/linux-5.19.12/fs/adfs/dir.c:227:                u16 filetype = adfs_filetype(obj->loadaddr);
./source/kernel/linux-5.19.12/fs/adfs/inode.c:100:      switch (adfs_filetype(ADFS_I(inode)->loadaddr)) {
./source/kernel/linux-5.19.12/fs/adfs/inode.c:183:      high = ADFS_I(inode)->loadaddr & 0xFF; /* top 8 bits of timestamp */
./source/kernel/linux-5.19.12/fs/adfs/inode.c:224:      ADFS_I(inode)->loadaddr &= ~0xff;
./source/kernel/linux-5.19.12/fs/adfs/inode.c:225:      ADFS_I(inode)->loadaddr |= (cs >> 32) & 0xff;
./source/kernel/linux-5.19.12/fs/adfs/inode.c:266:      ADFS_I(inode)->loadaddr  = obj->loadaddr;
./source/kernel/linux-5.19.12/fs/adfs/inode.c:363:      obj.loadaddr    = ADFS_I(inode)->loadaddr;
./source/kernel/linux-5.19.12/fs/adfs/dir_fplus.c:189:  obj->loadaddr = le32_to_cpu(bde.bigdirload);
./source/kernel/linux-5.19.12/fs/adfs/dir_fplus.c:252:  bde.bigdirload    = cpu_to_le32(obj->loadaddr);
./source/kernel/arm-trusted-firmware/bl1/bl1.ld.S:140:    __DATA_ROM_START__ = LOADADDR(.data);
./source/boot/fastboot/tools/env/fw_env.c:194:  "loadaddr=" MK_STR (CONFIG_LOADADDR) "\0"
./source/boot/fastboot/tools/img2srec.c:235:  uint32_t         loadAddr;
./source/boot/fastboot/tools/img2srec.c:310:  loadAddr  =  0;
./source/boot/fastboot/tools/img2srec.c:317:    loadAddr = sectHeader[i].sh_addr;
./source/boot/fastboot/tools/img2srec.c:318:    loadDiff = loadAddr - sectHeader[i].sh_offset;
./source/boot/fastboot/tools/img2srec.c:321:    loadAddr = sectHeader[i].sh_offset + loadDiff;
./source/boot/fastboot/tools/img2srec.c:324:      if (loadAddr < firstAddr)
./source/boot/fastboot/tools/img2srec.c:325:    firstAddr = loadAddr;
./source/boot/fastboot/tools/img2srec.c:337:    (void)BuildSRecord(srecLine, 3, loadAddr + loadOffset, rxBlock, rxCount);
./source/boot/fastboot/tools/img2srec.c:339:    loadAddr += rxCount;
./source/boot/fastboot/common/cmd_net.c:166:    if ((s = getenv("loadaddr")) != NULL) {
./source/boot/fastboot/common/cmd_nvedit.c:389: if (strncmp(argv[1], "loadaddr", sizeof("loadaddr")) == 0) {
./source/boot/fastboot/common/update.c:262:     if ((env_addr = getenv("loadaddr")) != NULL)
./source/boot/fastboot/common/cmd_reiser.c:127:         addr_str = getenv("loadaddr");
./source/boot/fastboot/common/env_common.c:139: "loadaddr="     MK_STR(CONFIG_LOADADDR)         "\0"
./source/boot/fastboot/common/cmd_load.c:447:   /* pre-set offset from $loadaddr */
./source/boot/fastboot/common/cmd_load.c:448:   if ((s = getenv("loadaddr")) != NULL) {
./source/boot/fastboot/common/cmd_usb.c:760:    "loadAddr dev:part"
./source/boot/fastboot/common/cmd_elf.c:106:     * Check the loadaddr variable.
./source/boot/fastboot/common/cmd_bootm.c:1588: setenv("loadaddr", str);
./source/boot/fastboot/common/env_embedded.c:172:       "loadaddr="     MK_STR(CONFIG_LOADADDR)         "\0"
./source/boot/fastboot/common/cmd_fdos.c:48:    if ((ep = getenv("loadaddr")) != NULL) {
./source/boot/fastboot/common/cmd_fdos.c:146:   "[loadAddr] [filename]"
./source/boot/fastboot/common/cmd_scsi.c:632:   "loadAddr dev:part"
./source/boot/fastboot/common/cmd_ide.c:2121:   "loadAddr dev:part"
./source/boot/fastboot/common/cmd_nand.c:808:   "[partition] | [[[loadAddr] dev] offset]"
./source/boot/fastboot/common/cmd_fdc.c:906:    "loadAddr drive"
./source/boot/fastboot/common/cmd_ext2.c:141:           addr_str = getenv("loadaddr");
./source/boot/fastboot/arch/arm/lib/board.c:444:        if ((s = getenv ("loadaddr")) != NULL) {
qgb@ubuntu:~/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020$

QGB avatar Oct 02 '22 05:10 QGB

3.16.85

binwalk hi_kernel.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             uImage header, header size: 64 bytes, header CRC: 0xF55C7A12, created: 2022-10-02 07:42:25, image size: 4738784 bytes, Data Address: 0x2000000, Entry Point: 0x2000000, data CRC: 0x9D037736, OS: Linux, CPU: ARM, image type: OS Kernel Image, compression type: none, image name: "Linux-3.16.85_s40"
18428         0x47FC          gzip compressed data, maximum compression, from Unix, NULL date (1970-01-01 00:00:00)

linux-3.18.y

qgb@ubuntu:~/github/hi3798mv100/HiSTBLinuxV100R005C00SPC041B020/out/hi3796mv100/hi3796mdmo1a/image$ binwalk hi_kernel.bin 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             uImage header, header size: 64 bytes, header CRC: 0x78D9A61, created: 2022-10-02 07:52:54, image size: 7239344 bytes, Data Address: 0x2000000, Entry Point: 0x2000000, data CRC: 0x271DD4C4, OS: Linux, CPU: ARM, image type: OS Kernel Image, compression type: none, image name: "Linux-3.18.24_s40"
100           0x64            Linux kernel ARM boot executable zImage (little-endian), load address: "0x00000000", end address: "0x006E5B08"
18504         0x4848          gzip compressed data, maximum compression, from Unix, NULL date (1970-01-01 00:00:00)

QGB avatar Oct 02 '22 07:10 QGB