u-boot和linux的机器码

先看u-boot的机器码和linux的机器码是在什么地方决定的。

1、 u-boot的机器码是在u-boot的board/fs2410/fs2410.c文件里决定的:

/* arch number of SMDK2410-Board */
    gd->bd->bi_arch_number = MACH_TYPE_SMDK2410;

参照查看u-boot的include/asm-arm/mach-types.h文件,有:
    #define MACH_TYPE_SMDK2410          193

而linux内核的机器码是由arch/arm/mach-s3c2410/mach-smdk2410.c下面的MACHINE_START(SMDK2410, "SMDK2440")中的第一个参数SMDK2410(关键字)决定的:

MACHINE_START(SMDK2410, "SMDK2410") /* @TODO: request a new identifier and switch
                                    * to SMDK2410 */
        /* Maintainer: Jonas Dietsche */
        .phys_io        = S3C2410_PA_UART,
        .io_pg_offst    = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,
        .boot_params    = S3C2410_SDRAM_PA + 0x100,
        .map_io         = smdk2410_map_io,
        .init_irq       = s3c24xx_init_irq,
        .init_machine   = smdk2410_init,
        .timer          = &s3c24xx_timer,
MACHINE_END

参照查看内核目录下的arch/arm/tools/mach-types.h文件,有:
    smdk2410        ARCH_SMDK2410        SMDK2410        193

只要保持两个文件(u-boot的board/fs2410/fs2410.c与linux内核的arch/arm/mach-s3c2410/mach-smdk2410.c)参照对象的码值一样就可以了!

时间: 2024-07-28 17:57:48

u-boot和linux的机器码的相关文章

spring boot连接linux服务器上的redis

本文章为给新手学习spring boot远程连通redis提供一个学习参考. 环境是intellij idea(window)+ redis(linux虚拟机-vmware). 首先在linux安装好redis,这里网上一堆教程,这里不再赘述. 我用的是centos7,等安装完成ping通之后,接下来开始正题,以下几个步骤帮助你连接redis: 1.修改redis.conf文件(最好拷贝一份,在副本上修改) 注释掉127.0.0.1的限制 把保护模式protected-mode yes 改为 n

Spring Boot 在Linux环境中 使用System.loadLibrary("XXX") 加载so文件

场景, 在Spring Boot加载so文件, 在此记录配置的过程和帮助过我的链接文档 System.loadLibrary("hello"); // Load native library at runtime hello.dll (Windows) or libhello.so 注意: window环境中文件名为hello.dll 或 libhello.so 步骤1: 把so文件存放在一个目录中 步骤2: Linux 运行jar文件配置lib库地址 nohup java -Dfil

recover Windows 7 boot partition overwritten by Linux Mint boot loader

My Notebook installed with dual boot OS: Linux Mint 16 and Windows 7 During Linux Mint 17 overwritting version 16, I selected the windows boot partition as the mint boot loader device by mistake, so windows 7 failed to start after the installation. t

Linux引导启动程序 - boot

主要描述 boot/目录中的三个汇编代码文件,见列表 3-1 所示.正如在前一章中提到的,这三个 文件虽然都是汇编程序,但却使用了两种语法格式.bootsect.s 和 setup.s 采用近似于 Intel 的汇编语言语法,需要使用 Intel  8086 汇编编译器和连接器 as86 和ld86,而 head.s 则使用 GNU 的汇编程序格式,并且运行在保护模式下,需要用 GNU 的 as 进行编译.这是一种 AT&T 语法的汇编语言程序. 使用两种编译器的主要原因是由于对于 Intel 

Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档. 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/reference/html/deployment.html 请注意,在部署为 systemd 服务的时候,上面的配置文件为: [Unit] Description=myapp After=syslog.target [Service]

linux基础学习-第十五天 磁盘管理(SWAP、dd、quota、RAID、LVM)

2016-08-26: 授课内容: 1.SWAP交换分区的创建 2.dd命令的使用 3.设定文件系统配额 4.设定和管理软RAID设备 5.配置逻辑卷 1.swap (1)SWAP分区:模拟内存,当物理内存不足时,进程需要内存资源是,内存会把一部分没有在用的进程分页挪到硬盘的模拟内存中,腾出空间被现在需要使用内存资源的进程 即其作用是可以允许内存过载使用,windows系统也有类似的机制,由于虚拟内存空间是建立在硬盘之上,所以其速度和性能会大打折扣,所以适合临时使用 (2)创建SWAP分区: 相

Linux学习基础知识

1.Linux如何分盘? 1.Linux对硬盘类型分的比较细.如果硬盘是IDE硬盘,那么它使用/dev/hdxy x表示第几块硬盘(从小写的a开始):y表示这个磁盘的第几个分区. dev/hdb2,其含义是第二个磁盘的第二个分区. 如果硬盘是SCSI硬盘,那么分区就表示为/dev/sdxy,其含义与IDE硬盘相同. 2.分区和挂载点? 在windows中,要访问一个分区直接访问代表该分区即可,但是在Linux分区 不可以通过/dev/hdxy或/dev/sdxy的方式访问分区,必须通过挂载点的名

boot loader:grub入门[转]

Boot Loader: Grub 在看完了前面的整个启动流程,以及核心模块的整理之后,你应该会发现到一件事情, 那就是『 boot loader 是加载核心的重要工具』啊!没有 boot loader 的话,那么 kernel 根本就没有办法被系统加载的呢!所以,底下我们会先谈一谈 boot loader 的功能, 然后再讲一讲现阶段 Linux 里头最主流的 grub 这个 boot loader 吧! boot loader 的两个 stage 我们在第一小节启动流程的地方曾经讲过,在 B

Linux 磁盘结构之 --- fdisk分区命令

一.fdisk 的介绍  fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具:其实就是分区工具 . fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux .fat32. linux .linux swap .fat16 以及其实类Unix类操作系统的文件系统等:当然我们用fdisk 对磁盘操作分区时,并不是一个终点,我们还要对分区进行格式化所需要的文件系统:这样一个分区才能使用:这和