linux3.4.2移植总结(s3c2440)

环境:Linux version 3.5.0-23-generic (buildd@komainu)
(gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
ubuntu12

目标板:JZ2440
待移植内核:3.4.2
交叉编译器:arm-linux-gcc-4.3.2

1.
make s3c2410_defconfig //使用默认配置

2.
修改时钟频率
linux-3.4.2/arch/arm/mach-s3c24xx/mach-smdk2440.c

公板上用的晶振和JZ2440的不一样,不修改会导致串口输出异常等
static void __init smdk2440_map_io(void)
{s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));s3c24xx_init_clocks(12000000); //改为12Ms3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));
}

3.
修改分区信息
inux-3.4.2/arch/arm/mach-s3c24xx/common-smdk.c

分区大小要和uboot的对应,否则会出错

我修改nand分区如下

/* NAND parititon from 2.4.18-swl5 */static struct mtd_partition smdk_default_nand_part[] = {[0] = {.name   = "Boot Agent",.size   = SZ_256K,.offset = 0,},[1] = {.name   = "params",.offset = MTDPART_OFS_APPEND,.size   = SZ_128K,},[2] = {.name   = "kernel",.offset = MTDPART_OFS_APPEND,.size   = SZ_2M,},[3] = {.name   = "rootfs",.offset = MTDPART_OFS_APPEND,.size   = MTDPART_SIZ_FULL,}
};

这里写图片描述

这是我内核分区后启动打印的信息

4.
由于JZ2440使用的是nand flash所以我们使用yaffs文件系统,3.4.2默 认没有支持yaffs,我们要自己移植,具体就不描述了,提一句的是注意yaffs版本和内核版本匹配,否则会出现
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b 错误 (具体解决和分析我会在后期博文写)

我使用是xshell,如果出现内核启动出现乱码可以试试设置下环境变量
set bootargs root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200

这里要提一句,我用arm-unknown-linux-gnueabi-gcc-4.6.3 编译时,内核会卡在
Uncompressing Linux… done, booting the kernel.
Booting Linux on physical CPU 0
估计是编译器版本太高

  System Type  --->    (0) S3C UART to use for low-level messages     这个表示使用串口0打印信息如果使用其他板子,要注意下这里。

完事后内核就ok了

/*******************************************************/
这里说下我文件系统制作的坑1.注意文件的权限,最好给make install 后的文件夹给个chmod 777 xxx 的权限
2.在指定编译器时最好直接修改MakefileCROSS_COMPILE ?= arm-linux-ARCH ?= arm
3.如果是动态链接的话我是复制了编译器目录/arm-none-linux-gnueabi/libc/armv4t/lib里的库启动成功的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265963.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

判断图有无环_浅谈什么是图拓扑排序

1 引言 在工程实践中,一个工程项目往往由若干个子项目组成。这些子项目间往往有两种关系:  (1) 先后关系,即必须在某个项完成后才能开始实施另一个子项目。  (2) 子项目间无关系,即两个子项目可以同时进行,互不影响。例如:在工厂里产品的…

排列与组合的Java递归实现 (参考)

我们在笔试面试过程中经常会遇到关于排列与组合的问题,其实这些可以通过递归简单的实现,看下面两个例子: (1)关于字符串排列的问题 输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc&…

【php】 自带的过滤机制

<?php print_r(filter_list()); ?>输出类似&#xff1a; Array ( [0] > int [1] > boolean [2] > float [3] > validate_regexp [4] > validate_url [5] > validate_email [6] > validate_ip [7] > string [8] > stripped [9] > encoded…

Source Insight 4.0安装教程(PS:附安装包及卸载重新安装等注意事项)

目录一、Source Insight 4.0安装包二、删除配置文件&#xff08;初次安装忽略此步骤&#xff09;1、清除注册表信息&#xff1a;2、删除全局配置信息&#xff1a;三、安装步骤1、解压2、安装3、替换4、破解5、安装提示unable to open or create...解决方案一、Source Insight 4…

通过远程(vnc)无法打开qtcreator

最近打算移植qt程序到板子上于是&#xff0c;在ubuntu物理机上装了qt开发环境&#xff0c;通过远程桌面链接上去写qt。 但是远程老是点不开qtcreator。于是通过命令行启动 出了报错信息&#xff0c;应该和xserver 服务有关&#xff0c;没有深入了解错误 下面是我的解决方案&a…

tomcat限速_网络限速

基本介绍上下行速度上行就是上传的速度,下行就是下载的速度,上行速率一般是指从你的电脑上传的速度&#xff0c;也就说别人从你的电脑进行通讯的速率&#xff01;下行速率一般是你从网络上的主机下载速度&#xff01;我们访问互联网的过程中存在这两种行为&#xff1a;一是上传…

iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局

iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局 iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局 一、项目文件结构和plist文件 二、实现效果 三、代码示例 1.没有使用配套的类&#xff0c;而是直接使用xib文件控件tag值…

硬件模块化开发的例子:LD3320语音模块与Source Insight的使用

目录硬件模块化开发的行情LD3320语音模块使用手册介绍&#xff1a;语音模块验货测试硬件连接效果图测试结果良好Source Insight代码查看器创建工程修改字体配色方案中文乱码关联代码语音识别模块代码分析语音识别模块二次开发硬件模块化开发的行情 LD3320语音模块使用手册介绍&…

ubuntu 远程桌面及Qt安装

环境&#xff1a; ubunut14 x64 目标&#xff1a;通过vnc远程桌面&#xff0c;在ubuntu 上编写qt程序 1.安装远程桌面 apt-get install xrdp vnc4server xbase-clients dconf-editor #安装xrdp&#xff0c;vnc4server apt-get install gnome-panel gnome-settings-daemon m…

awk分割字符

为什么80%的码农都做不了架构师&#xff1f;>>> str1|_|2|_|3|_||_|4|_|5|_|6|_||_|7|_|8|_|9; 期望分割成 1|_|2|_|3 4|_|5|_|6 7|_|8|_|9 也就是以|_||_|做分割符&#xff0c;但是&#xff0c;字符段长度不确定&#xff0c;有可能分割成3段&#xff0c;也可能会有…

面经——嵌入式软件工程师面试遇到的经典题目

参考&#xff1a;嵌入式软件工程师面试遇到的经典题目 作者&#xff1a;一只青木呀 发布时间&#xff1a; 2020-11-04 23:43:16 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/109499825 目录1、找错误2、下面的代码输出是什么&#xff0c;为什么&am…

axure实现复选框全选_AxureRP8实战手册-案例73(全选与取消全选效果)

案例73. 全选与取消全选效果案例来源:百度音乐-音乐盒案例效果&#xff1a;初始状态/取消全选时&#xff1a;(图5-117)全选后取消任一选项时&#xff1a;(图5-118)全选/单选全部选中时&#xff1a;(图5-119)案例描述&#xff1a;列表中相邻的行具有交替的背景颜色&#xff1b;点…

移植Linux3.4.2版本内核到mini2440

一. 内核启动流程&#xff0c;据此配置内核(机器ID) 1. 获取内核源码 www.kernel.org https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.2.tar.bz2 2. 解压内核 # tar xjvf linux-3.4.2.tar.bz2 3. 修改顶层Makefile&#xff0c;指定交叉编译器 ARCH ? arm CRO…

在浏览器的背后(二) —— HTML语言的语法解析

当你看到这篇文章意味着我辜负了教主的殷切期望周末木有去约会&#xff0c;以及苏老师我思故我在北京鼓楼的落井下石成功了…… 本文demo powered by 已经结婚的老赵的不再维护的wind.js 物是人非啊…… 说回正经事&#xff0c;在上一篇文章中&#xff0c;我们取得了初步成果&a…

面经——小米面经(2021春招)

摘自&#xff1a;小米面经&#xff08;2021春招&#xff09;——感谢小米、感谢雷总、感谢上官可编程 作者&#xff1a;阿波罗啦啦啦啦 发布时间&#xff1a; 2021-05-01 11:08:41 网址&#xff1a;https://blog.csdn.net/weixin_44933419/article/details/116325554 3月31日投…

使用arm混合汇编计算两个64位的和_混合使用C、C++和汇编语之: C、C++ 和 ARM 汇编语言之间的调用...

12.4C target_blank stylecursor:pointer;color:#D05C38;text-decoration:underline;>C、C和ARM汇编语言之间的调用本节提供一些示例&#xff0c;显示如何从C调用C和汇编语言代码&#xff0c;以及从C和汇编语言调用C代码。其中包括调用约定和数据类型。主要包括下面内容&…

记一次用WPScan辅助渗透WordPress站点

记一次用WPScan辅助渗透WordPress站点 一、什么是WPScan&#xff1f; WPScan 是一个扫描 WordPress 漏洞的黑盒子扫描器&#xff0c;它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题。我们还使用了 Nikto &#xff0c;它是一款非常棒的 Web 服务器评…

移植tslib(s3c2440)

解压安装tslib # tar -zxvf tslib-1.4.tar.gz # cd tslib # ./autogen.sh #echo “ac_cv_func_malloc_0 _nonnullyes”>arm-linux.cache # ./configure –hostarm-linux –cache-filearm-linux.cache -prefix/usr/local/tslib ac_cv_func_malloc_0_nonnullyes # make …

什么是Cortex、ARMv8、arm架构、ARM指令集、soc

参考&#xff1a;到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc&#xff1f;一文帮你梳理基础概念【科普】 发布时间&#xff1a; 一口Linux 网址&#xff1a;https://blog.csdn.net/daocaokafei/article/details/109008103 目录前言1. ARM公司2. ARM内核与架构1&#xff…

Windows下Qt5搭建Android开发环境笔记

Windows很大的特点是配置使用几乎都可以图形化进行&#xff0c;和Linux比起来在很多时候配置环境也要方便很多。所以&#xff0c;搭建Qt for Andorid也是十分简单的。需要以下工具&#xff1a;1.最方便的Qt官方包&#xff0c;现在还处于RC阶段&#xff0c;经过测试也是有些小bu…