uclinux-2008R1-RC8(bf561)到VDSP5的移植(59):Milestone:内核成功启动

终于成功编译了第一个版本,庆祝一下:

Linux version 2.6.22.18-ADI-2008R1-svn (lights@hb165.com) (Visual DSP++ 5.0) #5 Tue Apr 8 16:09:27 CST 2008Hardware Trace Off and DisabledWarning: limiting memory to 60MB due to hardware anomaly 05000263Reset caused by Software resetBlackfin support (C) 2004-2007 Analog Devices, Inc.Compiled for ADSP-BF561 Rev 0.3Blackfin Linux support by http://blackfin.uclinux.org/Processor Speed: 330 MHz core clock and 66 MHz System ClockBoard Memory: 64MBKernel Managed Memory: 64MBMemory map:  text      = 0x00004000-0x0009fb90  rodata    = 0x000d4000-0x000e2568  data      = 0x000e4000-0x000ee000    stack   = 0x000e4000-0x000e6000  init      = 0x000f4000-0x006a339c  bss       = 0x00774000-0x0077bc54  available = 0x0077bc54-0x03bff000Instruction Cache EnabledData Cache EnabledBuilt 1 zonelists.  Total pages: 15210Kernel command line:Configuring Blackfin Priority Driven InterruptsPID hash table entries: 256 (order: 8, Zd bytes)Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)Memory available: 53108k/65536k RAM, (5820k init code, 622k kernel code, 1205k data, 0k dma, 4784k reserved)Blackfin Scratchpad data SRAM: 4 KBBlackfin Data A SRAM: 16 KB (16 KB free)Blackfin Data B SRAM: 16 KB (16 KB free)Blackfin Instruction SRAM: 16 KB (15 KB free)Mount-cache hash table entries: 512Blackfin DMA Controllerezkit_init(): registering device resourcesSerial: Blackfin serial driverbfin-uart.1: ttyBF0 at MMIO 0xffc00400 (irq = 35) is a BFIN-UARTmount: mounting proc on /proc failedmount: mounting devpts on /dev/pts failed/dev/null: cannot create/dev/null: cannot createNo usable address families found.socket: Function not implementedUnable to create socketUnable to create socketUnable to create socket                           _____________________________________        a8888b.           / Welcome to the uClinux distribution /       d888888b.         /       _     _                         /       8P"YP"Y88        /       | |   |_|            __  __ (TM)  |       8|o||o|88  _____/        | |    _ ____  _   _ / // /       |       8'    .88       /        | |   | |  _ /| | | | /  /        |       8`._.' Y8.       /       | |__ | | | | | |_| | /  /        |      d/      `8b.       /      /____||_|_| |_|/____|/_//_/       |     dP   .    Y8b.       /   For embedded processors including   |    d8:'  "  `::88b        /    the Analog Devices Blackfin      /   d8"         'Y88b        /___________________________________/  :8P    '      :888   8a.   :     _a88P         For further information, check out: ._/"Yaa_:   .| 88P|            - http://blackfin.uclinux.org/ /    YP"    `| 8P  `.          - http://docs.blackfin.uclinux.org/ /     /.___.d|    .'           - http://www.uclinux.org/ `--..__)8888P`._.'  jgs/a:f    - http://www.analog.com/blackfinHave a lot of fun...BusyBox v1.4.1 (2008-04-08 16:04:10 CST) Built-in shell (msh)Enter 'help' for a list of built-in commands.root:/>

哈哈,好可爱,比2007版的LOGO好看多了。

Have a lot of fun...

还没有加上驱动,不过这个问题应该算小case了。先加上做一个UP的版本发布!

目前只限于UP,路漫漫其修远兮,SMP的目标啊!

不过从目前对内核的理解来看,似乎先实现RT这个目标比较现实。毕竟有RT Linux可以学习,对BF561硬件的理解也更好些。

此前看到一篇论文,是在一个双核的CPU上实现一个准实时系统的,其思想是在一个核上跑非实时的系统,另一个核上进行实时的任务调度,这个思路似乎比RT Linux直接接管中断要简单些!

不懂,先学习一下!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索linux
, http
, table
, stack hash
, create
, 4000byte
一个
,以便于您获取更多的相关知识。

时间: 2024-08-13 20:07:33

uclinux-2008R1-RC8(bf561)到VDSP5的移植(59):Milestone:内核成功启动的相关文章

uclinux-2008R1-RC8(bf561)到VDSP5的移植(62)

uclinux-2008R1-RC8(bf561)到VDSP5的移植(62):Failed to open '#include' file 'bf561.h' 在include/asm/mach/blackfin.h文件中,有这样的语句: #include "bf561.h" #include "mem_map.h" #include "defBF561.h" #include "anomaly.h" 当在asm文件中包含这个

uclinux-2008R1-RC8(bf561)到VDSP5的移植(58)

uclinux-2008R1-RC8(bf561)到VDSP5的移植(58): unable to open an initial console blog. 碰到一个郁闷的问题,提示" unable to open an initial console"后再没有下文了. 搜了下这个错误出现的位置,在init_post函数中: if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)

uclinux-2008R1-RC8(bf561)到VDSP5的移植(57)

clinux-2008R1-RC8(bf561)到VDSP5的移植(57):_NSIG_WORDS_is_unsupported_size 在include/linux/signal.h中使用了一个函数_NSIG_WORDS_is_unsupported_size,其使用过程大致如下所示: static inline int sigisemptyset(sigset_t *set) { extern void _NSIG_WORDS_is_unsupported_size(void); swit

uclinux-2008R1-RC8(bf561)到VDSP5的移植(43)

uclinux-2008R1-RC8(bf561)到VDSP5的移植(43):__builtin_return_address的问题 __builtin_return_address (LEVEL):这是GCC的内建函数,用于返回当前函数或其调用者的返回地址,参数LEVEL 指定在栈上搜索框架的个数,0 表示当前函数的返回地址,1 表示当前函数的调用者的返回地址,依此类推.在VDSP中,通过FP的循环取值可以完成相似的功能(参见以前的文章<使用FP取得函数的调用堆栈>).查了下内核对此函数的使

uclinux-2008R1-RC8(bf561)到VDSP5的移植(19):li2040

在添加了.init段之后,VDSP报告li2040警告: [Warning li2040] "./uclinux-2008r1-rc8.ldf":690 Due to memory fragmentation, output section '.init' in processor 'p0' was mapped discontinuously. Use FORCE_CONTIGUITY command to ensure that output section is mapped c

uclinux-2008R1-RC8(bf561)到VDSP5的移植(1):前言

1 目标 将uclinux-2008R1-RC8(bf561)移植到VDSP5上. 让uclinux支持双核. 2 原则 1.首先注释掉所有的声明和实现,但是保留#include和#define这样的语句. 2.逐步添加所需要的功能. 3.smp相关的部分参考linux-2.6.19的内核. 4.使用VDSP库.

uclinux-2008R1-RC8(bf561)到VDSP5的移植(3):Head.s

uclinux系统的入口点为head.s,因此先将此文件添加到corea.dlb,先改下语法错误. 1 时钟配置 因为没有使用引导程序,因此在内核启动时需要重新配置CPU的运行速度.在config.h中添加以下定义: // 时钟配置 #define CONFIG_CLKIN_HZ 27000000 // 晶振频率 #define CONFIG_VCO_MULT 22 // 内核倍频 #define CONFIG_CCLK_DIV 1 // 内核分频 #define CONFIG_SCLK_DIV

uclinux-2008R1-RC8(bf561)到VDSP5的移植(37):_cplb_mgr

在uclinux内核中,提供了一个函数:_cplb_mgr,此函数位于 arch/blackfin/kernel/cpu-nompu/cplbmgr.s,它的作用是当bf561发生cplb miss exception的时候替换掉最后的cache范围.在vdsp5中同样提供了一个_cplb_mgr的函数,而且VDSP在默认情况下会使用自己的库中的函数,从而造成内核错误. 因此,我们需要在config.h中增加一个定义: #define _cplb_mgr _uclinux_cplb_mgr #d

uclinux-2008R1-RC8(bf561)到VDSP5的移植(2):代码注释

因为uclinux内核是个庞然大物,为避免一开始就遭受打击,所以就决定先将所有的代码注释掉.但是与此同时要保留各个文件之间的依赖关系,因此必须保留#include这样的语句.再考虑到uclinux是通过宏定义来控制各种功能实现的,且宏定义几乎不会对移植造成任何困扰,所以也保留了#if #define这样的语句. 以下就是自己写的一小段代码,用于实现上述功能,在VS2005下可以使用. // hprocess.cpp : 定义控制台应用程序的入口点.//#include "stdafx.h&quo