- 博客(33)
- 资源 (54)
- 收藏
- 关注
原创 uclinux-2008R1-RC8(bf561)到VDSP5的移植(9):bf53x_relocate_l1_mem
在uclinux初始化的时候有一段代码: /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ call _bf53x_relocate_l1_mem;bf53x_relocate_l1_mem这个函数的实现在arch/blackfin/kernel/se
2008-04-30 20:45:00 1415
原创 uclinux-2008R1-RC8(bf561)到VDSP5的移植(8):_stext
在vmlinux.lds.s中将_stext定义为指向代码段的首地址,如下所示: .text : { __text = .; _text = .; __stext = .; TEXT_TEXT SCHE
2008-04-30 19:19:00 1540
原创 uclinux-2008R1-RC8(bf561)到VDSP5的移植(7):_sdata
在head.s中,要保存数据段的起始位置,如下所示: p1.l = __rambase; p1.h = __rambase; r0.l = __sdata; r0.h = __sdata; [p1] = r0;在这里,_sdata是在vmlinux.lds.s中定义的一个值,它指向数据段的首地址,
2008-04-30 19:17:00 1685
原创 uclinux-2008R1-RC8(bf561)到VDSP5的移植(6):__bss_start
添加完head.s后有几个链接错误:[Error li1021] The following symbols referenced in processor p0 could not be resolved: __bss_start [___bss_start] referenced from corea.dlb[head.doj]
2008-04-29 16:48:00 1783
原创 uclinux-2008R1-RC8(bf561)到VDSP5的移植(5):CONFIG_BANK_x
在加入head.s后有这么几个链接错误: CONFIG_BANK_0 referenced from corea.dlb[head.doj] CONFIG_BANK_1 referenced from corea.dlb[head.doj] CONFIG_BANK_2 referenced from core
2008-04-29 16:20:00 1490
原创 uclinux-2008R1-RC8(bf561)到VDSP5的移植(4):使用head.s做为入口点
创建uclinux工程时,默认的入口是uclinux-2008r1-rc8_basiccrt.s,而我们需要用head.s做为入口,因此需要修改ldf文件中的相关定义。在uclinux-2008r1-rc8.ldf文件中有这么几行:$OBJECTS_CORE_A = /*$VDSG *//* Text inserted betwe
2008-04-29 15:17:00 1627
原创 uclinux-2008R1-RC8(bf561)到VDSP5的移植(3):Head.s
uclinux系统的入口点为head.s,因此先将此文件添加到corea.dlb,先改下语法错误。1 时钟配置因为没有使用引导程序,因此在内核启动时需要重新配置CPU的运行速度。在config.h中添加以下定义: // 时钟配置#define CONFIG_CLKIN_HZ 27000000
2008-04-29 14:48:00 1614 1
原创 uclinux-2008R1-RC8(bf561)到VDSP5的移植(2):代码注释
因为uclinux内核是个庞然大物,为避免一开始就遭受打击,所以就决定先将所有的代码注释掉。但是与此同时要保留各个文件之间的依赖关系,因此必须保留#include这样的语句。再考虑到uclinux是通过宏定义来控制各种功能实现的,且宏定义几乎不会对移植造成任何困扰,所以也保留了#if #define这样的语句。以下就是自己写的一小段代码,用于实现上述功能,在VS2005下可以使
2008-04-29 10:49:00 1629
原创 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
2008-04-29 10:12:00 1312
原创 gcc 4.3 configure脚本学习(3):NLS nuisances
# NLS nuisances.for as_var in / LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION / LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER / LC_TELEPHON
2008-04-24 16:34:00 2112 1
原创 gcc 4.3 configure脚本学习(2):Be Bourne compatible
在configure的第一段就是:if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary
2008-04-24 10:35:00 3080 1
原创 gcc 4.3 configure脚本学习(1):前言
写这样一份文档主要源于创建gcc交叉编译器时的错误,希望能够搞清楚gcc交叉编译器创建的整个过程。而在此之前对于脚本的认识仅仅局限于了解,因而也希望在此过程中强迫自己对脚本有一个比较深入的学习。先在手头准备了一本《LINUX与UNIX SHELL编程指南》,大致浏览了一下这本书,碰到什么再查吧!由于最后的目标是构建一个arm交叉编译器,因而学习过程也以此为目标。
2008-04-23 11:26:00 2208
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(21):收工
洋洋洒洒写了这么多,也该得收工了,原来写文档的时间比移植的时间多多了,呵呵。。。工程文件可在CSDN资源中找到。希望大家喜欢。以下是这个工程支持的命令,其它的请自行添加。bfin> help? - alias for helpboot - boot default, i.e., run bootcmdbootd - boot de
2008-04-17 15:51:00 1217
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(20):INPUT_SECTION_ALIGN
说明INPUT_ALIGN_SECTION可能存在的问题。
2008-04-17 15:29:00 1394 1
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(19):分号惹祸
在移植汇编代码时,VDSP中的分号造成了一些小困扰,但是相比之下,C中嵌入汇编引起的问题则要隐蔽得多,如cpu/blackfin/reset.c中的函数:__attribute__ ((__l1_text__, __noreturn__))void bfin_reset(void){ while (1) { /* No idea why
2008-04-17 13:35:00 1411
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(18):const
在u-boot-1.1.6-2008R1/cpu/blackfin/traps.c中定义了一个数组:/* The purpose of this map is to provide a mapping of addresscplb settings * rather than an exact map of what is actually addressable on t
2008-04-17 11:45:00 1199
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(17): Entry.h
在include/asm/entry.h中定义了几个用于中断处理时的宏,如下所示: /* * Code to save processor context. * We even save the register which are preserved by a function call * - r4, r5, r6, r7, p3, p4, p5 */
2008-04-17 11:35:00 1228
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(16):*cplb_add
在lib_blackfin/board.c中有一个函数:void init_cplbtables(void){ volatile uint32_t *ICPLB_ADDR, *ICPLB_DATA; volatile uint32_t *DCPLB_ADDR, *DCPLB_DATA; uint32_t extern_memory;
2008-04-17 10:43:00 1449
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(15):DECLARE_GLOBAL_DATA_PTR
在u-boot中使用了一个宏:#define DECLARE_GLOBAL_DATA_PTR register gd_t * volatile gd asm ("P5")使用这个宏可以声明一个叫gd的局部指针变量,而这个指针的值是存放在P5这个寄存器中的。U-boot使用这种方式来进行程序的优化。而在u-boot初始化的时候,它对gd这个指针进行了赋值:vo
2008-04-15 15:30:00 2681
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(14):使用VDSP库
既然是使用VDSP来进行编译,那么我们当然希望使用VDSP库提供的众多便利。要做到这一点,需要修改头文件和u-boot_basiccrt.s。1 添加头文件的引用为了在所有的C文件中都可以使用VDSP的库函数,我们需要在一个合适的地方加上#include 从u-boot的实现可以很容易看出,include/config.h是一个好地方,所以我
2008-04-15 14:52:00 1459
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(13):使用L1
在u-boot中有部分代码需要放在L1中,因此在u-boot.lds.s中定义的两个段: .text_l1 : { . = ALIGN(4); __stext_l1 = .; *(.l1.text) . = ALIGN(4);
2008-04-14 16:18:00 1089
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(12):第二阶段的程序入口
在start.s的最后,CPU初始化已经完成,需要进入第二阶段的执行: /* Now lower ourselves from the highest interrupt level to * the lowest. We do this by masking all interrupts but 15, * setting th
2008-04-14 15:53:00 1025
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(11):bsz
在VDSP程序中,有一个叫做bsz的段,其含义是Controls placement of zero-initialized variable data其实就是相当于u-boot.lds.s中的.bss段,所以我们可以将这个段放在.bss段中。 .bss { INPUT_SECTION_ALIGN(4)
2008-04-14 15:02:00 1387
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(10):__xchg
在u-boot-1.1.6-2008R1/include/asm/system.h中有这样一个函数:static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size){ unsigned long tmp = 0;
2008-04-14 14:47:00 1073
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(9):bool的问题
在u-boot/include/asm/posix_type.h中有这样一个定义:typedef enum { false = 0, true = 1 } bool;但是在VDSP5中将引起一个错误:"../../include/asm/posix_types.h", line 63: cc0040: error: expected an iden
2008-04-14 10:18:00 1241
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(8):链接错误_bss_start
经过上面几步的修改,u-boot的错误提示为:[Error li1021] The following symbols referenced in processor p0 could not be resolved: _bss_end [__bss_end] referenced from corea.dlb[start.doj
2008-04-11 14:28:00 2556 1
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(7):改造u-boot.lds.s
u-boot的链接文件为u-boot-1.1.6-2008R1/board/bf561-ezkit/u-boot.lds.s,在其中定义了各段的布局,而VDSP5则使用u-boot.ldf做为链接文件,下面就是对它的移植。当然,我们可以根据自己的需要随时进行调整,在此只是尽可能与原文件保持一致。1 包含配置文件u-boot的配置文件为include/
2008-04-11 13:46:00 1585
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(6):使用u-boot的crt代码
1 向导生成的crt代码在使用vdsp5的向导创建一个新的工程时,它会默认生成一个*_basiccrt.s的文件,其中的*号为工程的名称。这就是在AB两个核中使用的crt文件了,然后通过ldf文件中的相应设置将crt代码放在两个核各自的起始位置上(A核为0xffa0 0000,B核为0xff60 0000)。下面就是ldf文件中的相应内容:// 添加
2008-04-10 22:26:00 1504
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(5):ENDPROC
在编译start.s时出现如下的错误:[Error ea5004] "../../cpu/blackfin/start.S":207 Syntax Error in :.type _start, @function; .size _start, .-_startsyntax error is at or near text @.Attempting error
2008-04-10 16:41:00 1790
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(4):提示信息
在编译start.s时,有这样的提示信息:[Informational ea1056] "../../cpu/blackfin/start.S":165 Preg read after write which requires 4 extra cycles查ea1056的解释:ea1056 [Information ea1056] "" Descrip
2008-04-10 16:22:00 1347
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(3): 汇编空语句
在编译start.s的时候,有这样的错误:[Error ea5004] "../../cpu/blackfin/start.S":76 Syntax Error in :;syntax error is at or near text ;.Attempting error recovery by ignoring text until the ;错误位置
2008-04-10 16:04:00 1183
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(2): .macro
Gcc4.1的汇编器支持.macro,就是汇编中的宏定义,如下所示:.macro serial_early_init#ifdef CONFIG_DEBUG_EARLY_SERIAL call _serial_initialize;#endif.endm上述片断来自于u-boot-1.1.6-2008R1/cpu/blackfin/serial.h,它就
2008-04-10 15:48:00 1254
原创 U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录:#if
问题:在u-boot-1.1.6-2008R1/include/configs/bf561-ezkit.h中有类似这样的语句:#if (CONFIG_COMMANDS & CFG_CMD_KGDB)#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */#else#define CFG_CBSIZ
2008-04-10 14:40:00 1180
Visual EmbedLinux Tools 0.2.9
2016-08-02
Visual EmbedLinux Tools 0.2.8
2016-07-03
Visual EmbedLinux Tools 0.2.7
2016-06-22
Visual EmbedLinux Tools 0.2.6
2016-06-07
Visual EmbedLinux Tools 0.2.5
2016-05-19
Visual EmbedLinux Tools 0.2.4
2016-05-11
Visual EmbedLinux Tools 0.2.3
2016-04-13
Visual EmbedLinux Tools 0.2.1
2015-11-18
Visual EmbedLinux Tools 0.2.0
2015-11-06
Visual EmbedLinux Tools 0.1.7
2015-10-10
python27-ns3
2015-07-07
Visual EmbedLinux Tools 0.1.6
2015-03-29
Visual EmbedLinux Tools-0.1.4
2015-02-06
Visual EmbedLinux Tools-0.1.3
2015-01-25
Visual EmbedLinux Tools-0.1.2
2015-01-13
Visual EmbedLinux Tools-0.1.1
2015-01-03
快乐虾的工具箱0.0.2
2009-09-29
在vs2008下编译uclinux内核:工程文件:vs-fs-1.0
2009-07-13
快乐虾的工具箱 0.0.1
2008-11-21
memsim_csdn_0.1
2008-08-04
bfin-uclinux-2008r1-csdn-2008-08-28.part08
2008-07-28
bfin-uclinux-2008r1-csdn-2008-08-28.part07
2008-07-28
bfin-uclinux-2008r1-csdn-2008-08-28.part06
2008-07-28
bfin-uclinux-2008r1-csdn-2008-08-28.part05
2008-07-28
bfin-uclinux-2008r1-csdn-2008-08-28.part04
2008-07-28
bfin-uclinux-2008r1-csdn-2008-08-28.part03
2008-07-28
bfin-uclinux-2008r1-csdn-2008-08-28.part02
2008-07-28
bfin-uclinux-2008r1-csdn-2008-08-28.part01
2008-07-28
uclinux-2008r1到vdsp5(bf561)的移植记录_v0.1
2008-07-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人