u-boot-2016.11移植至S5PV210-单板配置

u-boot-2016.11移植uboot-spl.bin 一、时钟初始化 1、修改clock.h cd arch/arm/mach-s5pv210/include/mach/vim clock.h /* add by Sourcelink */ struct s5pv210_clock { unsigned int apll_lock; unsigned char res1[0x04]; un 阅读详情

一、添加单板信息

  1. 拷贝单板
    cp -r board/samsung/smdkc100 board/samsung/smdkv210
  1. 进入smdkv210下
	cd board/samsung/smdkv210/
	mv smdkc100.c smdkv210.c
  1. 修改Kconfig
	if TARGET_SMDKV210

	config SYS_BOARD
        	default "smdkv210"
 
	config SYS_VENDOR
        	default "samsung"
 
	config SYS_SOC
       	 	default "s5pv210"
 
	config SYS_CONFIG_NAME
        	default "smdkv210"
 
	endif  			
  1. 修改MAINTAINERS
SMDKV210 BOARD
M:      Minkyu Kang <mk7.kang@samsung.com>
S:      Maintained
F:      board/samsung/smdkv210/
F:      include/configs/smdkv210.h
F:      configs/smdkv210_defconfig
  1. 修改Makefile
obj-y   := smdkv210.o
obj-$(CONFIG_SAMSUNG_ONENAND)   += onenand.o
obj-y   += lowlevel_init.o
  1. 根据MAINTAINERS修改inclu/configs/smdkv210.h 和configs/smdkv210_defconfig
cp include/configs/smdkc100.h include/configs/smdkv210.h
cp configs/smdkc100_defconfig configs/smdkv210_defconfig 
  1. 修改smdkv210_defconfig
CONFIG_ARM=y
CONFIG_ARCH_S5PV210=y
CONFIG_TARGET_SMDKV210=y
CONFIG_IDENT_STRING=" for SMDKV210"
CONFIG_DEFAULT_DEVICE_TREE="s5pv210-smdkv210"
CONFIG_BOOTDELAY=3
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="SMDKV210 # "

# CONFIG_CMD_IMLS is not set
# CONFIG_CMD_FLASH is not set
# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_CACHE=y
CONFIG_CMD_FAT=y

二、添加S5PV210信息

  1. 进入arch/arn目录下
cd arch/arm
vim Kconfig
# add by Sourcelink
config ARCH_S5PV210
        bool "Samsung S5PV210"
        select CPU_V7
        select DM
        select DM_SERIAL
        select DM_GPIO
 
# add by Sourcelink
source "arch/arm/mach-s5pv210/Kconfig"
  1. 修改Makefile
vim Makefile
 
# add by Sourcelink
machine-$(CONFIG_ARCH_S5PV210)          += s5pv210
  1. 复制mach-s5pc1xx
cp -r mach-s5pc1xx mach-s5pv210
  1. 修改mach-s5pv210目录下Kconfig
cd mach-s5pv210/
 
vim Kconfig
 
if ARCH_S5PV210
 
choice
        prompt "S5PV210 board select"
        optional
 
#config TARGET_S5P_GONI
#       bool "S5P Goni board"
#       select OF_CONTROL
 
config TARGET_SMDKV210
        bool "Support smdkv210 board"
        select OF_CONTROL
 
endchoice
 
config SYS_SOC
        default "s5pv210"
 
source "board/samsung/goni/Kconfig"
source "board/samsung/smdkv210/Kconfig"
 
endif
  1. 修改cpu.h
cd include/mach
 
vim cpu.h
#ifndef _S5PV210_CPU_H
#define _S5PV210_CPU_H
 
#define S5P_CPU_NAME            "S5P"
#define S5PV210_ADDR_BASE       0xE0000000
 
/* S5PV210 */
#define S5PV210_PRO_ID          0xE0000000
#define S5PV210_CLOCK_BASE      0xE0100000
#define S5PV210_GPIO_BASE       0xE0200000
#define S5PV210_PWMTIMER_BASE   0xE2500000
#define S5PV210_WATCHDOG_BASE   0xE2700000
#define S5PV210_UART_BASE       0xE2900000
#define S5PV210_MMC_BASE        0xEB000000
#define S5PV210_SROMC_BASE      0xE8000000
#define S5PV210_DMC0_BASE       0xF0000000
#define S5PV210_DMC1_BASE       0xF1400000
#define S5PV210_VIC0_BASE       0xF2000000
#define S5PV210_VIC1_BASE       0xF2100000
#define S5PV210_VIC2_BASE       0xF2200000
#define SPPV210_VIC3_BASE       0xF2300000
#define S5PV210_NAND_BASE       0xB0E00000
/* modif by Sourcelink */
static inline void s5p_set_cpu_id(void)
{
        int id = 0;
        s5p_cpu_id = readl(S5PV210_PRO_ID);
        s5p_cpu_rev = s5p_cpu_id & 0x000000FF;
        id = (s5p_cpu_id & 0xFFFFF000) >> 12;
        if (id == 0x43110) {
                id = s5p_cpu_id & 0x0F;
                switch (id) {
                        case 0x00:
                                s5p_cpu_id = 0x56210;
                        break;
 
                        case 0x01:
                                s5p_cpu_id = 0xc110;
                        break;
 
                        case 0x02:
                                s5p_cpu_id = 0xc111;
                        break;
 
                        default : break;
                }
        }
}
/* add by Sourcelink */
IS_SAMSUNG_TYPE(s5pv210, 0x56210)
 
/* modif by Sourcelink */
#define SAMSUNG_BASE(device, base)                              \
static inline unsigned int samsung_get_base_##device(void)      \
{                                                               \
        if (cpu_is_s5pv210())                                   \
                return S5PV210_##base;                          \
        else if (cpu_is_s5pc100())                              \
                return S5PC100_##base;                          \
        else if (cpu_is_s5pc110())                              \
                return S5PC110_##base;                          \
        else                                                    \
                return 0;                                       \
}
  1. 修改board/samsung/smdkv210/lowlevel_init.S 将里面S5PC100全部替换为S5PV210

  2. 添加soc

cd arch/arm/cpu/armv7
vim Makefile
# modif by Sourcelink
ifneq (,$(filter s5pv210 s5pc1xx exynos,$(SOC)))
obj-y += s5p-common/
endif
  1. 添加设备树
cd arch/arm/dts/
cp s5pc1xx-smdkc100.dts  s5pv210-tsmdkv210.dts
  1. 修改Makefile
vim Makefile
# add by Sourcelink
dtb-$(CONFIG_S5PV210) += s5pv210-smdkv210.dtb
  1. 添加CONFIG_S5P210宏
cd include/configs/
vim smdkv210.h
#define CONFIG_S5PV210          1       /* which is in a S5PC100 */
u-boot-2016.11 uboot启动简易分析(基于S5PV210) 1、_start _start是u-boot启动后的第一个执行地址,对于armv7来说,它就是简单的跳转到rest处执行和初始化异常向量表 vim arch/arm/lib/vectors.S _start: #ifdef CONFIG_SYS_DV_NOR_BOOT_CFG .word CONFIG_SYS_DV_NOR_BOOT_CFG #endif 阅读详情

相关推荐

1.u-boot-2017.01移植到三星S5PV210教程之单板配置

u-boot-2017.01移植到三星S5PV210教程之单板配置

lu_jiale的博客 4198

s5pv210(4) -- 一键自动烧录

自动下载电路及下载成程序实现

xflm的博客 1732

s5pv210内核的编译与配置,即基本问题的解决笔记

关于s5pv210 记录独立编译内核那些走过的坑 1.如何选择内核版本, 选CPU BOARD最接近板子的 ,如我的板子是smart210, 源码中arch/arm/configs/下的官方配置 有s5pv210_defconfig 是支持的, 如果不知道是否支持完善,选最新的,再配置编译,使得运行能看到内核串口信息。 //有串口信息就成功了大半(它表示CPU基本支持,且方便后续调试) 2.下载l...

qishang_62的博客 1073

s5pv210-nand-dm9000-dts-2

先贴出dts全文(内核linux4.19.222) 分两个文件-一个是s5pv210-smdkv210.dts 另个一是s5pv210.dtsi 第一个dts // SPDX-License-Identifier: GPL-2.0 /* * Samsung's S5PV210 SoC device tree source * * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd. * * Mateusz Krawczuk <m

嵌入式 arm 单片机 入门 视频 培训 853

u-boot-2017.07移植到s5pv210教程(含对应源码)

u-boot-2017.07移植到s5pv210教程(含对应源码),注意这只是移植了单板信息,还没有其他驱动,其他驱动以后慢慢补上,新手的东西肯定更适合新手,欢迎下载。

保姆级教程:用STM32H743+TJA1042T玩转FDCAN,CubeMX配置1M/5M双速率通信(附完整代码)

本文提供STM32H743与TJA1042T实现FDCAN双速率通信的保姆级教程,详细讲解CubeMX配置1M/5M双速率通信的全过程,包括硬件连接、时钟树配置、过滤器设置及中断管理,并附完整代码示例,助力开发者快速掌握FDCAN高速通信技术。

weixin_30698297的博客 473

S5PV210 Linux内核移植 - 天嵌E8

从kernel.org下载最新版本的内核: https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.19.114.tar.xz tar -Jxvflinux-4.19.114.tar.xz 1、修改Makefile ARCH ?= arm CROSS_COMPILE ?= /usr/local/arm/gc...

hanxiaohu的博客 2689

2.13寸电子墨水屏HINK-E0213+esp8266

很久以前买的一块电子墨水屏,运气很好,这个型号HINK-E0213资料很全,而且微雪官网也有相关电路资料等。

梦境虽美,却不长. 3003

S5PV210开发板移植Linux4.4.1内核并使用设备树传参

-----最近手头之前学习使用的是九鼎的X210开发板,使用的是S5PV210 SOC,目前210 的学习资料也比较丰富,易于学习。可是目前最多的资料都是基于Linux2.6.35.7这个内核版本来学习的。今天下载了Linux4.4.1版本的内核,发现该版本上使用设备树传参已经很好的支持了S5PV210,特此打算移植4.4.1版本的内核并且使用设备树传参来启动内核。 说干就干,从官网下载Linux...

TNT的博客 2790

HFSS入门学习笔记——微带一分四功分器的设计与仿真

功率分配器是将输入信号功率分成相等或不相等的几路功率输出的一种多端口无源微波网络,用于功率分配和功率合成。工程上常用的微带功分器有T型功分器和威尔金森功分器。经典的威尔金森功分器有几个缺点:①、多应用于低频段,高频段时,波长会与隔离电阻的尺寸相比拟,此时需要考虑电阻的分布参数效应;②、大功率应用时,隔离电阻的耗散功率要很大,因此隔离电阻的体积也会比较大。

weixin_42126696的博客 2万+

车载以太网SOMEIP入门必看:从服务发现到事件订阅,一次搞懂三种核心通信模式(附报文实例)

本文深入解析车载以太网SOME/IP的三种核心通信模式:服务发现、方法调用和事件订阅,通过真实报文实例和仿真工具演示,帮助开发者快速掌握这一关键技术。文章特别强调服务发现机制的基础作用,并详细介绍了Request/Response与Fire&Forget两种方法调用模式的应用场景,为智能汽车网络通信开发提供实用指南。

weixin_30955617的博客 111

Linux 设备树 DTS 语法

设备树(Device Tree) DTS(Device Tree Source) : 描述设备树的文件 DTS文件采用 树形结构描述板级设备 如:CPU数目,内存基地址,IIC接口的设备,SPI接口的设备 树干:系统总线 树支:IIC控制器,GPIO控制器,SPI控制器,SDMMC控制器,PCI总线 ...

记录点点滴滴 2382

Codesys电子凸轮Cam表实战:从可视化配置到程序化构建

本文详细介绍了Codesys电子凸轮Cam表的实战应用,从可视化配置到程序化构建的全过程。通过包装机和印刷机案例,解析Cam表的基础设置、调试技巧及动态构建方法,帮助工程师快速掌握电子凸轮技术,提升运动控制精度和效率。

weixin_29309785的博客 298

s5pv210 移植Linux Kernel 4.19 启动NFS 文件系统记录

一、Linux内核移植。二、启动NFS文件系统。

m0_37859235的博客 890

Realtek RTD1319D芯片解析:H.266与AV1双解码的机顶盒SoC

视频编解码技术是数字媒体传输的核心,H.266/VVC作为新一代标准,相比H.265提升50%压缩效率,显著降低带宽需求。其实现原理依赖于专用硬件解码器和并行处理架构,在超高清视频传输领域具有重要价值。Realtek RTD1319D作为首款商用H.266处理器,采用异构计算设计,集成四核ARM CPU和独立视频处理单元,同时支持AV1解码,兼顾市场兼容性。该SoC特别适合4K机顶盒、数字标牌等应用场景,其HDMI 2.1a接口和DVB解调器为超高清内容传输提供完整解决方案。开发时需注意散热设计和内存配置优

weixin_42591413的博客 671

【乐企文件生成工程】乐企文件生成支持所有特定要素类型发票

【代码】【乐企文件】乐企文件生成最新更新!!!

九七的博客 850

uboot2016.11版本移植过程

1. uboot-spl.bin烧写地址从0x200变位0x00000000 修改路径:uboot.v2016.11\include\configs\nuc970_evb.h 修改内容: 修改前:#define CONFIG_SPL_TEXT_BASE 0x200 修改后:#define CONFIG_SPL_TEXT_BASE 0x00...

chenliang0224的专栏 1089

Arcgis建筑面shp由DSM和DEM获取高度拉伸并可视化

Arcgis建筑面shp由DSM和DEM获取高度拉伸并可视化

yilvyangguang520的博客 3991

Device Tree(四)linux-4.19.10 板级移植

1、修改Makefile ARCH ?= arm CROSS_COMPILE ?= arm-linux-gnueabihf- 如果发现:/tmp/cc8nFJm8.s:549: Error: garbage following instruction -- `dsb nshst', 则到linaro.org下载新版本的编译器,我使用版本为7.7.3 2、修改arc...

跬步千里,窥叶知秋 1848

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

一. u_boot-2016.11 引导流程分析说明

此文件参考 新唐nuc980单板为样例,该板采用arm926ejs架构,其他soc类同. (一). 程序业务流程 arch/arm/cpu/u-boot.lds /**(1). u-boot 链接文件,指定00存放向量表 *(.vectors) */ | | V arch/arm/lib/vectors.S /**(2). 00开始存放的向量表 */ | | V arch/arm/cpu/arm926ejs/start.S /**(3). s

weixin_38387929的博客 715

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

uboot 移植

在进行U-Boot移植之前,我们会用到一些有关S5PV210的知识,在这里简单的给大家介绍一下~ 硬件平台:OK210开发板 U-Boot:2011.06   ---------------------------------第一部分-----------------------------------   S5pv210是一个32位精简指令集、低功耗、高性能的cortex-a8处理器

u013358722的专栏 792

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

tiny4412移植uboot-2019-01(三)

开发环境:win7 64位 + Ubuntu16.04 64位 开发板:tiny4412ADK + S700 + 4GB eMMC + 1G DDR3 工具链:友善之臂提供的 arm-linux-gnueabihf- (gcc version 6.3.0) //低版本的工具编译不了最新的uboot 要移植的u-boot版本:u-boot-2019-01 git仓库地址:https:/...

u012830148的博客 3484

uboot

从零开始进行官方uboot移植到x210(cpu:s5pv210) 文章目录从零开始进行官方uboot移植到x210(cpu:s5pv210)前言一、前期准备二、移植前分析1.Makefile与mkconfig脚本分析2.读入数据总结 前言 在前面进行了一系列对于uboot中各个文件夹,还有各个文件中参数的设置,在此进行零基础从零开始对uboot进行移植 一、前期准备 1.在官网下载了一个全新的uboot后,解压得到 2.由于一个uboot中适配了很多其他开发板,我们需要对其他无关的内容进行删除,这里得

m0_46496934的博客 514

S5PV210-uboot移植-从三星官方uboot开始移植

11、1、uboot移植前的准备工作1、三星移植过的uboot源代码准备(1)三星对于S5PV210的官方开发板为SMDKV210,对应移植过的uboot是android_uboot_smdkv210.tar.bz2在资源下载中(2)这个源代码网上是下载不到的,刚开始是下载不到的,三星官方是不会把这些东西放在官网上下载的。这些东西最初都是随着官方的开发板一起流出的。2、SI的...

weixin_34246551的博客 775

X210开发板(S5PV210芯片)uboot移植DM9000驱动移植

DM9000芯片介绍 DM9000连接方式

weixin_42031299的博客 1128
上一篇: python 控制台同一位置输出
Sourcelink
博客等级 码龄12年 31粉丝 43原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值