第7章 嵌入式uClinux及应用开发

第7章 嵌入式uClinux及应用开发
第7章 嵌入式uClinux及应用开发

せ7』 uClinux ?

ゴ? ??? S3C4510B?? ? uClinux ??? ??? ?? ? ????? ? Linux? ?? ? ?? ? ? ?偸? ?? Windows ????? ?? ?? П?????? ? ??? ? ???? ゴ? д??? ? uClinux ? ???? ? Linux Windows ? ?? ? ? ??

ゴ?? ?

ˉ uClinux???

ˉ GNU???

ˉ ?uClinux ?

ˉ uClinux? ??

7.1 uClinux???

PC ? ?? ?? ?? ??? ??PC ? ??? ? ?? ?API?? ? ?? ?? ????????? ??? ?? ? ? ?????????? ? ??? ??? ????⑤?????????????? ???? ?? Ё ??? ? ? ? ?? ? ????⑤? ??? ??? ? ??? ? ?? ? ? ????Embedded Operating System?????EOS?? ? ? к ? ??? S3C4510B?????? ? MMU?ARM ? ? ???uClinux?uClinux ?? ? GNU/GPL ?? ???? ???? ?Lineo ? ?uClinux? ? āyou-see-linuxā, ? ?? ? ?āmuā ? ?āCā?? ?āmuā??ā āП ? ?āCā??ā ā? ?? ?? ?? ? Н? ā 乚 Ё?Linux??ā?

?????? ?? ?? ??CPU ??Ё ?? ?? ?Memory Management Unit?????MMU? ?? ? ??????? MMU?CPUП??? ?? ? ? ? ???? ? ? ? ? ???? ? ????? ?? ?? ? ?? ???? ??? ? ?? ? ? ? ????? ? ?? ??? ? ??? ????? ??????? ????CPU П?? ? ?? ?

?????uClinux?????? ? ??

uClinux?Linux 2.0/2.4 ?⌒?? ??????Linux?? ? ? ? ??? ? MMU?CPU? ?? ?? ?? ? ?????? ? ?? ?MMU?? ? ?? ARM7TDMI? ? ?? Flash ? ???uClinux ?? ? MMU? ? ? Linux? ? ?? ?? ???? ? ???? ??? ?? ?? ?? GNU?? ? ??GNU GPL?? ?????uClinux ????? ??? Т ?Linux API ??? ?? MMU? ???uClinux ?Linux ?????? ?

? ? ? ???催 ? ????? ? Linux??? ??? ?uClinux ?? ??Linux? ????〇 ?? ??? ?????? ?? ? ? ???? ?? ? ?APIㄝ? 7.1?uClinux? ?

7.1uClinux?

Boot Loader???Linux ?? ? ?? ???⑤? SDRAM??? ???? ?Linux ???? ?FlashЁ?? ramdisk?

? ?Linux ?? ? start_kernel?? ? ?? ?? ? ??IRQ???? ?? 偅 ? ? ?? ??? ? forkāinitā???? ? ? ? ?

???? / ? ? ? āinitā? ? ? ? ?? ? ? ?? ? ????? ? ???(? ??Ё ) ????? ????? 偅 ?? 偅 ?Linux ? ? ? ? ??????? 偅 ? ? ???? ??? ? ?

????Linux ???? П? ? ???? ???? ? Linux ? ??? ? ????? ? ? ? ? ? ?? ? ? ? 乏?? ???? ? ???? ?Linux? ? ? ? ? ???? ? ?? ? ?????? ?? ???? ??? ?

?????? uClinux? ????

1? MMU(内存管理单元)和VM(虚拟内存)

? ? ???? MMU?? ? ?? ?? ? ? ?????????? ??? ? ? ? ?? ? ?? ぎ?? ? ? ? ?? ?? ??? MMU???? ??? ぎ? ? ?? ? ??? ? ??? ??? ????? ? ?? ??? ??? ? ????? ??? ? ???

2、实时性的支持

uClinux ? ? ?? ??? ? ? ?uClinux ? ? ? RTLinux(RTL) RTA I(Real Time A pplication Interface)? ???? ??uClinux ? ? ???催? ?

3、平台支持

uClinux? ??

uClinux? ? ?GNU ???? ? ? ??催?? ?? XIP(Execute-In-Place) ? ? ㄝ?

uClinux ??? ?

uClinux??? ? ?ColdFire/Dragonball?ARM? (? Atmel, TI, Samsungㄝ?????)?Intel i960, Sparc (? MMU?LEON), NEC v850??? ? ? ( CLPD )?CPU??? OPENcore?

4、与标准Linux的兼容性

uClinux???? ?fork()? ??vfork() ? ?uClinux?API ? Linux ? ? ?? ? ?uClinux?? ? ??? ??uClinux ???? ??vfork() ??? ? ??? ??? ??? ????exit() ? ? ? ????exec() ??? ???? ?Linux ?? ?Linux ????? uClinux?? ? Т?? ?М ? ? ? ? ?? ?? ???(? ???⑤??)?uClibc libc( ?? Linux? ) ? ?uClinux ?? ?有?? ?? ?

5、网络的支持

uClinux ?? ?TCP/IP ?? ? ? ??? ??uClinux ? ?? ? ???? ? ????

6、应用领域

uClinux ? ?? ??Ё?? VPN?? /?? ? ? ??ッ? ?? ?IP??? ? ?Internet ?PDA? ㄝ?

uClinux ??? ???П ? ? ???? Ё ? ?????? GNU GCC?

7.2 GNU???

GCC(gcc)?? ?? ??? ?? ???GCC?GNU ?Richard Stallman佪 ? GNU? ? ???UNIX ?催 ?? ?GCC Т ? ??UNIX ?? ? ? Win32/DOSг GCC????? ?SUN?Solaris ???????? GNU?GCC?

GNU?? C?? GCC?C++?? G++??? AS?? LD??? ? (OBJCOPY?OBJDUMP)??? (GDB?GDBSERVER?KGDB) ?? ?? ? ? GNU GCC ?? ??????C/C++?? ?? ???? 催 ?????? ??????? ???

?? ? GPL? ???? ????? ??⑤??? ???????? ?GNU ? ? ????? ??? ? ?GNU?キ????https://www.360docs.net/doc/975531958.html,/home.html?

GNU ? ?? ??? ?? ? ? ?? ??? ?Windows ??? ??? GNU ? ?? ???? ???? ? ?? ??? ?? д ?? ? ???????? ???????Linux ?????????GNU gcc?? ??? ???Linux ??????? ?? ?? ???Linux ? ???? ??? ???????? CPU??? ? ?? ?? ?? ?? ??? ? ? ?? ??

7.2.1 GCC??

GCC GNU??? ?C?? ?Linux? ?? ?? ??? ???????⑤?? ?? GCC?? ?????? ? GCC?? ??? ? ????? ?? ? ? ?? ? ??

?????? ??? ? д ???GCC?? ?

Linux ???Ё? ??? C?? ?⑤? ????????GNU?gcc ?? ?

? ????? ? ?Hello⑤? (hello.c)?

/*******************************************************

* Institute of Automation, Chinese Academy of Sciences

* File Name?hello.c

* Description?introduce how to compile a source file with gcc

Nie

* Author?Xueyuan

* Date?

*******************************************************/

void main()

{

printf("Hello the world\n")?

}

?????? ? ? ? Linux?bash ???? ??

$gcc -o hello hello.c

gcc ?? ?? ??hello? ? ?? hello.c? ? ? ?./hello ?? ? ?? ? ? ? āHello the worldā? ?? ?

??Ё gcc?? ?gcc ??⑤? ?

-o outputfilename?乍?????? ? ? ?outputfilename? ? ?? ? -o?乍? ?? ? a.out? ??? ? ?hello? ? ???hello.c ??⑤? ??

gcc ?? ? ? ?gcc ??? ?

gcc [options] file... ?

Ё?option ?- ? ??乍?file ? ? ? ? ??gcc? ? 乏?? ???乍 ? ?gcc? ?????? ?? ???????? ??? ? ??? ? ?乘 ??????? ? ? ? ??? ?gcc ?? ?乍 ?? ??

??? ?? ? ?????? ??⑤ ????? ? ?? ?(object files)? ????Ё? ??? ? ? ??? ?? ???? ? ??? ? ?? ? ?? ? ?? ? ?? ????Ё???? ?Ё ? ?Ё?? ? ????? ?????? ???? ??? ? ?

gcc?? ? ?乍?? ? ?? ? ??? Ё ?? ? ?? ????? ? ???乍?

-o?乍?????? ? ? ? ? ??

-c?乍?? ???? ??????????? ?? ?⑤ ?? ? ?

??.c .cc .o?? ??

-g?乍???? ??? ?? ? ????? ?

-E?乍???? ⑤ ? ??乘 ? ???? ????? ? ?

-S?乍???? ??????? ?? ? ?

-O?乍 ?? ? ????? ?乍? ??? ????乍? ??? ? ? ?? ? ? 催?

-Wall?乍 ?? ??? ?

??⑤??Ё ? ? ??? ?? ? ? ?? ??Ё ? ? ? Linux?????? ? 乏 ? ???? -lm ?乍?г? ????? ???? ??printf ? ??? ? ? gccЁ ??? ? ? ??gcc?? ?? ? ?? ? ???? ? ?? ?? ??? ? ?? ?? ??? ?? ?? ?-L?乍 ? ?? ? ? ?? /home/hoyt/mylib???? ???? ?? ?-L/home/hoyt/mylib? ??? ??? ? ? ? ? ? ??? ?? ? ???gcc ? ? ?? ?? ??

GNU?? ? ?? ???? ?elf(executive linked file)? ?? Linux?? ??? ?? ???? ?? ?elf? ?? ?(section)? ? ? ? ?? c⑤??? ?? ?Ё ????.text(? ?) ? ? ????.data( ?) ? ? ?? ??ㄝ?.bss( ?) ? ? ?ㄝ?

??? ?? ??乍 ??? ? ?gcc? ???? ? ?乍???? ?

?⑤ ?hello.c ???? ?? ?

$gcc -c hello.c

? ? ? ? ?

$gcc –o hello.o

? ?? ? ??⑤ ?? ? ?⑤? ???? ???? ??? ? ???? ? ?? ?Ё ?? ?⑤? ?????⑤? ?Ё? ? ? ? ?⑤? ? ??М? ?? ?? ? ???⑤ ?????? ??? ? ?? ???? ?? ?GNU ??????偸 ? ? ? ?????? ?GNU Make ?

7.2.2 GNU Make

make ???乍??⑤??Ё? ? ? ? ??⑤?? ?? ?make ? ? ? ? ? Н? ? ? ? ? ? ??

make [flags] [macro definitions] [targets]

Unix??? ?flags?乍 Н??

-f file file ?? ? ?? file ? '-' ???М ? ? ? ? ? '-f' ? ?? 咬? ? ? ?makefile ? ?Makefile? ?? ? ?? LinuxЁ? GNU make ?? Ё ?GNUmakefile?makefile?Makefile?乎 ? makefile ??

-i ? ? ?? ? ? ?

-s?咬? ? ?П ?? ? ? ?? ?

-r????? ? ?

-n? ?? ?? ? ??? ? ??

-t ? ??

-q make ? ? ? ? ? ? "0" ?"0"?? ?

-p? Н ? ? ??

-d Debug? ?? ? ?? ???? ?

Linux?make ?? ??乍?Unix??Ё? ? ??? ?? ? ?-c dir ? makefile П ?? dir?

-I dir ? makefile ? ? ???乍 ?? ?

-h help ? ? ?make?乍?

-w ? makefile П П ?? ? ?? ?

?? ?? Ё?target ? make????? ? ? ? Н?? ?? ? ? ?? ?乎 ????target?乍Ё ?? ?? ??Ё? ? ? ??咬?target ? ?Ё???? ??

make ? ? ⑤??? ? ??????П?makefile? ? ?? ??? ????? ??????makefile?? ???

7.2.2.1 makefile ?

GNU Make ??? ? ??? ? makefile?makefile ?bash?? ??bash ?? BASIC????? ???????? ???? ?? ?? ? ? ??? ?Ё???? ??? ? ?????????? ??? ? make ?? ??? ?? ? ?? ( ? ?? ? )? ? ????? ? ???make ? ?? ? ??? ? ??

makefile?????“makefile” “Makefile”?? ? make ? ??Ё ? ? ? ? ? ???make ? “makefile” “Makefile”? ???? ??? ??????? ? ??? ? ??? makefile? ?????? make ??乍 makefile ??

$ make -f makefilename

?? makefile ?? ?? ?? ? ??

? ? : ?? ?

(tab?) ?

????П?? ???? ?? ? ?? 乏??tab? ?

??В??? ?makefile?? ?

executable : main.o io.o

gcc main.o io.o -o executable

main.o : main.c

gcc -Wall -O -g -c main.c -o main.o

io.o : io.c

gcc -Wall -O -g -c io.c -o io.o

? ?? ? ? makefile?make??? ? ?executable makefile ??? ?? ??? ?? ? executable?????? ?main.o io.o? ?executable ? ??? ?Ё????? ??????? ? ?? ??? ? ? ? main.o io.o ? П ? ? ? ?? main.o io.o ?? ??? ?make ? ? main.o ?? ??? ???? ? main.c?makefile ?? ?Ё г

? ? ???? ??? ??? ?make ? ??????? ?? ? ?? ?? ?main.o ????М??? ??? ?gcc -c main.c –o main.o ? ??? ? main.o ? ?make ?io.o ???? ? ??? ? io.c? io.o? ? main.o???

? ? ???? ? ??? Ё?????? ?? ??? ?executable???? ( ?executable ??? Ё?? .o ? ?? )? ?? ? ?? ??

?makefile? ????⑤ ??? ? ???? ??? ????? ??( ?.o ????.c ?)??? ? ? ???? ? ( ? ???.o ?? ?)? г?? ??? ??

7.2.2.2? make

? Н

makefile ?? ??????? ?? ? Т ???? ? ?? ??? ? ?? ? ? ?? ? ? ?? ㄝ?? Н?? ? makefileЁ?? ??? ?? ? ????ㄝ ?ㄝ ? ?? ??? ? ? ? ? ? ? ??? $ ( )? ? ${ }?? ? ? ? П ? ?? ? В?? ?? ? ?? ? ??? ?

OBJS = main.o io.o

CC = gcc

CFLAGS = -Wall -O -g

executable: $(OBJS)

$(CC) $(OBJS) -o executable

main.o : main.c

$(CC) $(CFLAGS) -c main.c -o main.o

io.o : io.c

$(CC) $(CFLAGS) -c io.c -o io.o

??makefileЁ ??? Н? ? ?? Ё? ? ? ? ? ? ? ? ? ???? ?makefileЁ? ?? ? ?? ? makeЁ? ?? ? Н ? ? ?? ?? ?? ? $@? $< ?$??$*, $^ (? ??? ???? ?)?

$@ ? ? ?? ? ?

$< ? ? ?? ? ?Ё?????? ??

$? ? ? ? ? ?? ?? ??? ??? ?? ? ?????

$* ? Ё? ? ?? ? ?? ? ?? ?

$^ ? ??? ?? ?(? ? ? ? ? )?

??? ?? ? ??? makefile ?

OBJS = main.o io.o

CC = gcc

CFLAGS = -Wall -O -g

executable: $(OBJS)

$(CC) $^ -o $@

main.o : main.c

$(CC) $(CFLAGS) –c $< -o $@

io.o : io.c

$(CC) $(CFLAGS) -c $< -o $@

? ? ? ?? ? ? ? ??? ????? ??? ? ? ?

2?? ?

?? ? ???? ?? ??? .o ?? ?? ?.c ????? ??? .o ? (obj) ??? ?? ?? ? ???偸? ? main.o io.o?? ?makefileЁ ??make ? ?? ? ?? ? ??? ? ? ?? ??make ???? ?? ??? ?? ?? ? CC ??? ? ??? CFLAGS? C ?? (CXXFLAGS?? C++ ?? )?CPPFLAGS(C乘 ??乍)?TARGET_ARCH ( ? ? ?????????? )?? ?乍 -c ? ??乘 Н $<(????? ? )? 乍 -o? ?乘 Н $@ (? ? )??????? ? ? ? ?

$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@

make Ё ??? ?? ? ?? ? Н? ??? ??? ? ?? ? ?? ?Unix??? ?? ? ? ? ??? ? ??? ?? Н? ? ?? ? ? ?? ?(? .c ?)?? ? ?? ? ?? ?(? .o ?)?

??Ё咬?? ? ? Н??

.o? ?

.c C⑤ ?

.f FORTRAN⑤ ?

.s??⑤ ?

.y Yacc-C⑤??

.l Lex⑤??

?GNU make ?? ?? ? ??? ?? ? ? ? ???? ??? ? ? ?? ? Н ??? ? ? ? Н? ?? ?П?? ??? ???? ? Н? ? ? ??.c ?? ? ? ? ?.o ??

%.o : %.c

$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<

3???

?? ????? ? ? ????? ? ??????г ?????? ??? ??? ?? ??? ? ????? ???? ? ????????? ?????? ?? ? ????? ? ? ? ? ?? make ? ? ???? ? make ??? ?? ?? ?? ? ? ? ?? ?? ???

В??? ?? ? makefile ?

all : executable1 executable2

?? executable1 executable2 ? ? ??? ? ?? make ?? 'all' ? ???? ??? ? ?? ? 'all' ?? ?????? ? ? ? ?? ?? 'all' ? ? ??(? ?? all г?? ?? )? ???? ??? 'all' ?? ? ??? ? ? ? ? make ? ? all ? ? ? ? ??? ? executable1, exectable2 ?? ? ??? ? ???? ? ??? ??????? makefileЁ ????

4?

makefile ?? ? ? ??? ??? ???? $ ? ? ? ?ぎ? ??? ?? ?? ?? ? GNU Make ? ?? ? 'wildcard' ? ? ?? ? ? ? ? ? ?? ? ? ???ぎ???? ? ?? ????? ??

SOURCES = $(wildcard *.c)

??????? ? '.c' ? ? ?? ??? ? SOURCES ?? ?????? ? ? ?? ??

?? ?? patsubst (patten substitude, ? ?? ) ? ???? ???? ???? ??? ????????М ???? ????? ???ぎ? ?? ?? ? ??????? Н ? ??

OBJS = $(patsubst %.c,%.o,$(SOURCES))

??? ? SOURCES Ё? ? ? '.c'? ??? '.o' '.c' ??? ??? % ? ???? ??? ? ?? ?? ?? ?? ??‘ ’(stem) ? ??? ??%??? ??? ???? ?

???? ?? ???????? ?GNU Make ?

7.2.2.3 makefile??? ??

?????В??? ?makefile?? ??? ??makefile???? ????? ???

INCLUDES =-I/home/nie/mysrc/include \

-I/home/nie/mysrc/extern/include \

-I/home/nie/mysrc/src \

-I/home/nie/mysrc/libsrc \

-I. \

-I..

EXT_CC_OPTS = -DEXT_MODE

CPP_REQ_DEFINES = -DMODEL=tune1 -DRT -DNUMST=2 \

-DTID01EQ=1 -DNCSTATES=0 \

-DMT=0 -DHAVESTDIO

RTM_CC_OPTS = -DUSE_RTMODEL

CFLAGS = -O -g

CFLAGS += $(CPP_REQ_DEFINES)

CFLAGS += $(EXT_CC_OPTS)

CFLAGS +=$(RTM_CC_OPTS)

SRCS = tune1.c rt_sim.c rt_nonfinite.c grt_main.c rt_logging.c \

ext_svr.c updown.c ext_svr_transport.c ext_work.c

OBJS = $(SRCS:.c=.o)

RM = rm –f

CC = gcc

LD = gcc

all: tune1

%.o : %.c

$(CC) -c -o $@ $(CFLAGS) $(INCLUDES) $<

tune1 : $(OBJS)

$(LD) -o $@ $(OBJS) -lm

clean :

$(RM) $(OBJS)

??makefileЁ佪 Н? ? ?

' INCLUDES =-I …'(?? ??-I ?? )?'-I dirname' ?? dirname ?? ? ?? ?Ё ? ??乘 ???Ё??? ?

' EXT_CC_OPTS = -DEXT_MODE ' ?? ? Ё Н? EXT_MODE?ㄝ?? ⑤?? ? ' #define EXT_MODE ' ?

? ??? НCPP_REQ_DEFINES RTM_CC_OPTS? EXT_CC_OPTS ??????

'CFLAGS =-O -g ' ?? ????乍??? ?????Ё ???? ? ? ????GNU?? ( gdb)????? ?

'CFLAGS += ' ?? ?? Н ? ?? ? ?

' SRCS = …'??? ????⑤?? ? ??

' OBJS = $(SRCS:.c=.o)'?? SRC ??? ?.c? ? ? ?.o? ? ? ? ?? ?⑤ ? ?? ? ?

' RM = rm –f ' ?? ? ??-f ??乍????? ? ??? ? ?? ??

' CC = gcc '???? ?gcc?

' LD= gcc' ??? ? ?gcc?

all clean ???? ? ??make ?? ? ? ? ? ? ? makefile Ё ?????? ?? ?? ? ? ? ?make? ?? all??? ??? ? ?????? ? ? ? ? make ? ? all ? ? ? ? ??? ? tune1 ?? ? ??? ????? ???? ? ?? ????? ? ?tune1? ? ? ? ?? ??? ?make clean? ? ?.o? ?Ё? ? ??

????? makefile?? Ё ?? ' \'??? ?? makefileЁ? ? ? ?? ? ??' \' ? ? ? ????? ? ????? ???? ??? ????

makefile ?Ё??? ' #'?????? ? ?? makefile ?? ? ? ? ?makefile ? ?makefile? ?г ???? ? ? ? ? ? makefile?Makefile??? ?make ? ????make –f makefilename? ?? ??? make makefile? ???

7.2.3??GDB???

? М???? ? ?? ??? ??? ? ? ? ?? ?? ??? ? ????? ?? ? ? ? ? ????? ?? ? ??????? ??? ? ? ???? ? ? ? ?? ??

1ˊ? ?? ?? ??? ?????

2ˊ ?? ??? ? ????М ? ? ?? ??? ???? ? ??? ? ??? ?М?

3ˊ ? ? ? ? ?? ? ? ?

4ˊ ??? ????? ?? ?

?? ( ? ? ???? ?? )? ??? ? ??? ?? ?? ? ?? ? ? Н??? ? ?? П ???? ? ? ? ⑤?Ё? ? ????? ??????? ?? ?乎 ? ? ? ??? ? ? ? ??? ? ??? ?? ? ? ? ?? ? ? ?? ? ?? ?? ???????? ?? ? Linux??Ё? ? ? GDB(GNU Degugger)?GDB GNU? ??? ?

7.2.3.1 GDB ? ?

? ??gdb? 乏 ⑤?????? ???-g???乍 ? ???? ? ? ??? ?????-g?乍 ?? ??? ? ?? ????? ? ?Ё? ???? ?? ? ? ⑤?? ??? ? ??gdb? ???? ?⑤? ?? ??? ??⑤??????????gdb??? ?? ??Ё? gdb filename(filename ?gcc??? ? ? ? ? )??? ??? ? ? ?? ?Ё Вmakefile? ?? ? gdb tune1? ?? ?

[nie@uClinux mysrc]$ gdb tune1

GNU gdb Red Hat Linux 7.x (5.0rh-15) (MI_OUT)

Copyright 2001 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB. Type "show warranty" for details.

This GDB was configured as "i386-redhat-linux"...

(gdb)

gdb????? ?? ?? tune1 ? ???? gdb ???? ? run ? ? ?? ??? ??? ?? ? gdb ??? ???? ??run command-line-arguments ? ? ??tune1 command-line-arguments??? ? ?? ????

? ? ? ???? ??? ? ?? ??? ?? ?? ??? ?break?? ??? ?break place???place ? ? ???? ? ??? ? ?break main ??? ??? ??? ?? ?? ???В? ? ? ?tune1?? ? ????? ?rtExtModeCheckInit? ? ?? ? ? ?? ? gdb ???? ?break rtExtModeCheckInit?? ? ?? ?Breakpoint 1 at 0x8049a28: file grt_main.c, line 604.? ??г ???? ??Ё ???????Ё ?? ?ㄝ??break 604? ? ?? ? ? ?

??? ? ?? ??? ? ? ?? ? ? ? ????? ?Breakpoint 1, main (argc=4, argv=0xbffffb84) at grt_main.c:604

604 rtExtModeCheckInit();

(gdb)

? ?? ? ? gdb ???? ??delete N???N??? ?Ё ???????Ё ?1??????? ?2???? ? delete ???? ? ?? ??? ?? ?? ?? ?? ?? ? ??? ?info break? ? ? ?????? ? ?

gdb ?????help ???? gdb ?????? ? ? ?? ? ? ? ??? ????gdb ??? ??? ?step next ????? ?step ??? ? ? ? ?????? ? Н? ? ???next ?? ?? ??? ? ?? ? ? ?continue ? ????? ?? ? ??? ? ? ? ?

????? linux?bash ???? ?gdb ? ?gdb? ?? ? ? ? ? ???? gdb ???? ??file filename(filename? ? ? )?? ? ?? ?? ⑤ ? ?

????Ё? ??? ? ? ? ? gdb? ?? ??watch variablename ????variablename ? ? ? ? ?

? ?? ? ??? ? ?print? ??? ?print expressionname? Ёexpressionname?? ???? ?

7.2.3.2 GDB ??? ?

????????? ?? ??????? ?gdb??? ??

⑤? ?example1.c??? ??

/*******************************************************

* Institute of Automation, Chinese Academy of Sciences

* File Name?example.c

* Description? introduce how to use gdb

Nie

* Author?Xueyuan

* Date?

*******************************************************/

#include

static void display(int i, int *ptr);

int main(void)

{

int x = 5;

int *xptr = &x;

printf("In main():\n");

printf(" x is %d and is stored at %p.\n", x, &x);

printf(" xptr holds %p and points to %d.\n", xptr, *xptr);

display(x, xptr);

return 0;

}

void display(int z, int *zptr)

{

printf("In display():\n");

printf(" z is %d and is stored at %p.\n", z, &z);

printf(" zptr holds %p and points to %d.\n", zptr, *zptr);

}

???gdb??? ?? ? ??? ???-g???乍??? ? ?( augmented symbol table)? ??? ?

佪 ??gcc –g –o example1 example.c ⑤????????? ???gdb??example1? ???? bash ????? ?:gdb example1? ? ? ?example1 ???? ?? ???? ?

[nie@uClinux nie]$ gdb example1

GNU gdb Red Hat Linux 7.x (5.0rh-15) (MI_OUT)

Copyright 2001 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB. Type "show warranty" for details.

This GDB was configured as "i386-redhat-linux"...

(gdb)

??(gdb) ? gdb??Ё? ???? ? ???? ?? ? ? ??

? ??? ?????? ?? ???????⑤??? ?? ? ?? ???? gdb??Linux ? ?? ?vi????? ???list ? ? ??⑤????? ??? ⑤??? ?? ? ? ?list ? ? ? ? ??

(gdb) list

1 #include

2 static void display(int i, int *ptr);

3

4 int main(void) {

5 int x = 5;

6 int *xptr = &x;

7 printf("In main():\n");

8 printf(" x is %d and is stored at %p.\n", x, &x);

9 printf(" xptr holds %p and points to %d.\n", xptr, *xptr);

10 display(x, xptr);

(gdb) list

11 return 0;

12 }

13

14 void display(int z, int *zptr) {

15 printf("In display():\n");

16 printf(" z is %d and is stored at %p.\n", z, &z);

17 printf(" zptr holds %p and points to %d.\n", zptr, *zptr);

18 }

(gdb) list

Line number 19 out of range; example1.c has 18 lines.

(gdb)

??? ? ????? ? ?? ?? ? ? ????? ?? ? gdb ???? ??break 5? ?? ??? ? ?

(gdb) break 5

Breakpoint 1 at 0x8048466: file example1.c, line 5.

? ??? ?? ?? ??? ?? ?run?г ?? ? r? ? ?? ??

(gdb) r

Starting program: /home/nie/example1

Breakpoint 1, main () at example1.c:5

5 int x = 5;

?? ? ?gdb ? ? ?? ?? ? ?? example1.c? Ёmain() ???? ?? ? ? ? ?????? ?

? ??? ???? ??? ??next? ? ? ?? ??? ? ? ?next ? ? display ? ? ? ? ?

(gdb) next

6 int *xptr = &x;

(gdb) next

7 printf("In main():\n");

(gdb) next

In main():

8 printf(" x is %d and is stored at %p.\n", x, &x);

(gdb) next

x is 5 and is stored at 0xbffffb44.

9 printf(" xptr holds %p and points to %d.\n", xptr, *xptr);

(gdb) next

xptr holds 0xbffffb44 and points to 5.

10 display(x, xptr);

??? display ??????? ?step? ?

(gdb) step

display (z=5, zptr=0xbffffb44) at example1.c:15

15 printf("In display():\n");

step ?? ?? ??? ? ?? ?????step ? ? next ??? ? ?? ? ? ??? ? ? ?? ? ?? ?? ?continue ?

?? gdb??? ?quit? ? ? ? ???gdb????? ???? ? ? ?????? ? ?

(gdb) quit

The program is running. Exit anyway? (y or n)

?'y' ? ??? ? ? ? ??? ?? quit ?? ??? ? gdb,?? ??? ? ?

?????gdb??? ?? ? ? ??????? ??? ?? ???gdb???printf? ? Ё? Ё? ?? ??? ?г ??????? ??

???? ? ????uClinux ????GNU ???? ???乘 ?? ? ? ? ゴ??? ??

7.3 ?uClinux ?

?? ? ?uClinux? ???? ? ? ?? ?uClinux ? ???

?uClinux ???? ? ? ?? ?? ???? ?PC ?? ?? ( кЁ ?S3C4510B? )???? ??? ?? ?

????? ? ? ???? ???? ?? ? ?? ???? ?PC ? П?????? ? ? ? ?? ??

7.3.1 ?? ??

? ? ??? ? ?? Linux?PC ?? ? ?? ? ? ?? ??? ? ? ? Windows ?????? ??さ? Linux? ? ? ? ? ? ? ? к ?? ??? ?? ? ? ? ??? ?? ?? ??? ?? ??

7.3.1.1ˊ? ?Linux? ? ?? ??

佪 ?? ? ? ? Linux ???? RedHat Linux( к??? Redhat 7.2)?? ?? ?? ?? 偅 ???????? ? ? PC ? ?Linux ?????乬?? ? ? ?

??uClinux ?? ? ? ???????? ⑤??? ? ?? ? ?? ? ??? ?????? ??? ? ? ? ?? ? ?

? ????? ???? ?? ??? ?? ?? ?? ? ?? ? ?????? ??? ? ?? ??? ???? (Architecture)? ???(Operating System)? ????? ???? ? ???? ?? ?? ???г ? ? ???? ????В? ?? ? ??x86 Linux ?? Intel x86??? Linux for x86 ????????x86 WinNT ?? Intel x86??? Windows NT for x86 ??????? к ? ?? ??S3C4510B???П ???? ?? ? ???? ? ? ? ???? ? ? ? ? ? ? ?? ? ?? ?? ?????? ? ??????? ??? ??https://www.360docs.net/doc/975531958.html,.tw/->download ?? ??

arm-elf-binutils-2.11-5.i386.rpm?arm-elf-gcc-2.95.3-2.i386.rpm?genromfs-0.5.1-1.i386.rpm? ? ? ????? ??? ??? ? ?rpm ?

$su

#rpm –ivh *.rpm

RPM(Red Hat Package Manger)?? ??? ? ??? ?? ?? ? ? ? ?

RPM? ? 3?? ?x86(i386)?Sparc? Alpha? ? ?? ? ??? ? ? ?? ?? arm-elf-binutils-2.11-5.i386.rpm?arm-elf-binutils?? ? ?2.11??? ? ?5?? ? ?г ? ? ??? ?i386 ??? ????Intel x86??? (binary)? ?г ??? ? ?? ???? ? ?ārpmā??? Red Hat?RPM? ?????RPM ?? ??? ?乬???? ??patch build??? ? ?? ? 1?????? ??? ? ?

?? ?? ?rpm –ivhЁ?-i??Installation? ? ?RPM?? ?-h??Hash?? ? ? ?”#”? ? ?? ? ??????? ?? ? ? ??

-v??Verbose? ? ? ??? ?

?? ? ? ?? ? ? ? ? ?? ? ??? ?? arm-elf-gcc ?? ??? ? ? ?? ??

??г ???キhttps://www.360docs.net/doc/975531958.html,/pub/uClinux/arm-elf-tools/??? ?

arme-elf-gcc ? ? ?arm-elf-tools-20030314.sh? ? ? ?? ?? ? ? ? ??? ?

$su

#ls –l arm-elf-tools-20030314.sh

? ? ? ?? ? ? ?? ? ?? ??? ???? ??#chmod 755 arm-elf-tools-20030314.sh

? ? ? ?? ??? ?:

#sh ./arm-elf-tools-20030314.sh

? ?? ?? ? /usr/local/bin/? ? gcc, g++, binutils, genromfs, flthdr elf2flt ㄝ ? ? ?

7.3.1.2? ?windows? ? ?? ??

?? ??? ?? Linux? LinuxЁ? ?? ?? ? ?PC? ?Windows? ??? ?????? ??

1. Cygwin????

?? Windows? ??? ?? ? ? Windows? ???Cygwin ???Cygwin ?? Windows ????Unix? ? ? Cygnus Solutions ?????? ? д Unix/Linux ?? ? ??? ???? ?? ??GNU ? Windows??? ?? ?? ??

Cygnus 佪 gcc?gdbㄝ ??? ??? ?? ? ??win32?? ??? ? ?? ?? windows ? ??? ? ?win32 API ?? ?⑤???? ??? ??? ? ?? ??Cygnus? ???? ? ?üü?? ??? ? ( cygwin1.dll)? win32 APIЁ? ?Unix亢????( fork,spawn,signals,select,socketsㄝ) ? ???г ???? ?win32 A PI ???Unix?? ?? ???? ? ?? ?⑤?? ?? ? ? ??? ???Unix? ??? ?? ? ? Windows ???? ??????? Windows ?? ? ??Cygnus ?? ?? ( Т??? ⑤???? ? ?? ?????? )???? Windows? ???? Windows ???bash ?? ? ? Unix? ?? ?Cygwin ?? ?? ??? ?https://www.360docs.net/doc/975531958.html,/cygwin-ug-net/cygwin-ug-net.html?

2. Cygwin??? ?

? Cygwin? ?? ?? Cygwin??义https://www.360docs.net/doc/975531958.html,/??? ?Cygwin? ?义?? ?? '' Install Cygwin Now ''?? ? ? ? ???? setup.exe?GUI ?? ?? ????? ?Cygwin? 7.2 ?? ? setup.exe ?”? ?? ” ??? ??? Cygwin ? ? ?? ? ?? ??? ? ? ? ????乍?ㄝ Cygwin ?? ? ? ????乍?? ??

7.2? ??

?? ? ?? ? C:\? ??? ? D:\??

????Ё???? ? ? ? ??? ?? ? ? ??? ㄝ? ??? ??? ? ??????ぎ?? ? ?? ? ? ?? ?? ???''All''? ?? ''Default''?? ''Install''? ? 7.3 ??

7.3? ?

Cygwin? ??? ????????? ㄝ ? ? ???? ā ā ?П ? ? ???? ? ???????? 7.4 ??? ?Cygwin ? ?? ???

7.4Cygwin ? ? ??

? ??? ? ?Cygwin ?? ? ??????? ?Cygwin? ?

3. Cygwin?? ? ??

? ? ? ?? П ?佪 cygwin??????? ?Cygwin ? d? ?? Cygwinに П ?? D:\cygwin? ? ??? ?? ?? ? ?cygwin.bat? ? ????? ?? ??? set CYGWIN=title ntea?? ?cygwin? ? ??? Unix ???? ? ? ? ? ? ????Cygwin ? 咬?? ? WindowsЁ? ?? (?? ??? ??? windows 2000professsional)? 7.5 ????Ё? ?? ( D:\cygwin)?? ?cd bin

mv sh.exe sh-original.exe

ln –s bash.exe sh.exe

?? ?? ? linux?? sh? ? bash?Cygwin??sh.exe bash.exe ? ?? ? 乏?bash? sh?

??キhttps://www.360docs.net/doc/975531958.html,/pub/uClinux/arm-elf-tools/tools-20030314/???? ?? ?⑤??? ? ?build-uclinux-tools.sh ? windows???? ?? ?? ?? ?? ?? ?? ?? ?arm-elf-tools-cygwin-yyyymmdd.tar.gz? ?? Ёyyyy?? ? ?? ? ?mm?? ? ?? ? ??dd? ???? ??? ? ? ? ?? ???Ё? ??? ?????? ?? ? ? ? ???? ?? ???д ?? ?linux?? ? ???? ?.tar.gz ?.tgz? ?????windows??? ??? winzip ?winrar ?? ?? ??? ?????????? windows?? ? ??? ??? ? ?? ?

к? ?? ?? ?arm-elf-tools-cygwin-20030502.tar.gz?

7.5Cygwin ?

4. Cygwin? ? ?? ??

?? ?? ?

tar xvzf arm-elf-tools-cygwin-20030502.tar.gz

??? ?? ?? ?? ? /usr/local/bin/? ? ?? ?GNU ? ?? ?? ?? Windows??? ? Windows??? uClinux???? ?? ??

7.3.2 uClinux? ???

? ?uClinux ? ?? S3C4510B ? ?ARM??????? ?????? ? ????? ? ???????? ? ??? ?? ? ? ? ?? uClinux ?⑤??Ё ??? ? ?? ?? ? ???? ? ? ???uClinux ?⑤?? ?? ???偅 ? ?? ??? В? ?? ?S3C4510B? ????????? ?? ?? ???? ?? ?

uClinux ?⑤??Ё S3C4510B? ?? ? ? ?? ?? ? Н??uClinux-Samsung\Linux-2.4.x\include\asm-armnommu\arch-samsung\hardware.h ?Ё? Ё ? ? ?

/*

* define S3C4510b CPU master clock

*/

#define MHz 1000000

#define fMCLK_MHz (50 * MHz)

#define fMCLK (fMCLK_MHz / MHz)

#define MCLK2 (fMCLK_MHz / 2)

?? Н??? ??? ?乥??50MHz??? ??? ?乥?? ? ? ???? ?? ? ? ?????? ??乥? ????? ??? ?/**********************************/

/* System Memory Control Register */

/**********************************/

#define DSR0 (2<<0) /* ROM Bank0 */

#define DSR1 (0<<2) /* 0: Disable, 1: Byte, 2: Half-Word, 3: Word */ #define DSR2 (0<<4)

#define DSR3 (0<<6)

#define DSR4 (0<<8)

#define DSR5 (0<<10)

#define DSD0 (2<<12) /* RAM Bank0 */

#define DSD1 (0<<14)

#define DSD2 (0<<16)

#define DSD3 (0<<18)

#define DSX0 (0<<20) /* EXTIO0 */

#define DSX1 (0<<22)

#define DSX2 (0<<24)

#define DSX3 (0<<26)

#define rEXTDBWTH (DSR0|DSR1|DSR2|DSR3|DSR4|DSR5 | DSD0|DSD1|DSD2|DSD3 | DSX0|DSX1|DSX2|DSX3)

?? Н??? ? ??? Н?ROM/SRAM/FLASH Bank0 Н?16? ?? ??ROM/SRAM/FLASH Bank0? ?B0SIZE[1:0]?? ???ROM/SRAM/FLASH Bank1?ROM/SRAM/FLASH Bank5???DRAM/SDRAM Bank0 Н?16? ?DRAM/SDRAM Bank1?DRAM/SDRAM Bank3??? ?I/O? ?????? ??? ????? ? ? ?

П ? ? ??? ? ROM/SRAM/FLASH Bank0 ????Flash ?????DRAM/SDRAM Bank0 ????SDRAM ????ㄝ????? ??? ?? ?

7.3.3??uClinux ?

?? ????? ?uClinux ??????????? ?? 偅 ? ? ??? ????? ???? ? ??uClinux ??⑤?? ????? ?? GPL? ? ? ? ?????? ?? ??? ? ??uClinux? ?? ? ? ? ? ? ? ????? ?? ?? ?? ? ???Ё???? ?? ? ? ? ????? 催 ? 〇 ?? ?? ??? ?? ????? ? ? ?? ? ???? ?????? ???? ? ? 〇 ? ????? ? Ё ????ㄝ? ??? ? ? ??? ? ???

uClinux ???? ???? ??? ?? ? ??? ?? ???? ???? ?? ?? ??? ???? ? ?????? ??????? ? ? ??? ?

ü? ? ??????? ? ??? ? ? ???????? 催???? ?

ü?? ??? ???? ? 偏 ? ?? ? ? ??? ?? ぎ??

ü ?Ё? ?? ?? ? ? ???????? ???〇 ?

uClinux? ?⑤?? ??? ?キ? ???? ?? ?? ?? ??? ? ?? ? ? ?? ?? .tar.gz ???? ??? ? ?? ??

嵌入式系统期末考试题库及答案

嵌入式系统期末考试题库及答案 《嵌入式系统》试题库 《嵌入式系统》试题库 一、填空题 1、嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。 3、从层次角度来看,嵌入式系统由四大部分组成,分别是:应用软件层、操作系统层、板级支持包(或硬件抽象层)和硬件层。 4、嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。 5、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。 6、需求分析包括:功能性需求分析和非功能性需求分析。 7、确定输入信号是数字信号还是模拟信号属于功能性需求。 8、确定系统的物理尺寸和重量属于非功能性需求。 9、在嵌入式系统的设计过程中,其中规格说明解决“做什么”。 10、在嵌入式系统的设计过程中,其中体系结构设计解决“如何做”。 11、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。12、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段完成。13、在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。14、在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。15、在嵌入式系统的设计过程中,完成版图设计应在构件设计阶段完成。16、在嵌入式系统的设计过程中,完成软件设计应在构件设计阶段完成。 17、反映嵌入式系统设计人员的水平能力主要在于总体设计(需

求分析、规格说明和体系结构设计)和系统调试。 18、设计流程指的是设计过程中所经历的过程步骤。 19、设计重用技术主要分为基于IP 核的模块级重用和基于平台的系统级重用。20、软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验证几个阶段组成。 21、嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和 第1 页共44 页 1 《嵌入式系统》试题库 数字信号处理器(DSP)。 22、列举常见的ARM 系列处理器:ARM7 系列、ARM9 系列、ARM11 系列、Cortex-M 系列、Cortex-R 系列、Cortex-A 系列等。 23、ARM 系列微处理器支持的数据类型有:字节、半字和字等三种类型。24、ARM 系列微处理器支持的字数据存储格式有:大端格式和小端格式。25、ARM 系列处理器通过执行BX 或者BLX 指令来实现工作状态的切换。26、列举常见的存储器类型:SRAM、DRAM、Flash、EEPROM 等。27、对于RAM 存储器主要有两种,分别是:SRAM 和DRAM。 28、在时钟信号边沿到来之前的一段时间内,数据信号必须保持稳定,这段时间称为器件的建立时间;在时钟信号边沿到来之后的一段时间内,数据信号必须保持稳定,这段时间称为器件的保持时间。 29、总线是在多于两个模块(设备、子系统)之间传送信息的公共通路。30、总线的功能是信息共享和交换。 31、总线由传输信息的物理介质和管理信息传输的协议组成。 32、挂接在总线上的设备依据启动总线事务的能力可以分为主设备和从设备。33、总线协议依据同步方式可分为同步时序协议和异步时序协议。34、总线仲裁方式可分为集中式仲裁和分布式仲裁。

什么是嵌入式软件开发嵌入式系统软件开发所需要学习那些知识_百(精)

什么是嵌入式软件开发?嵌入式系统软件开发所需要学习那些知识? 随着智能化和信息化网络化的不断发展,嵌入式技能已经日趋成为一种新时代新技术革命的关键。对于嵌入式系统和嵌入式软件开发人员来说,这份职业无疑是种高端应用技术的结合。是一个很有前景的职业。 嵌入式趋势来势汹涌,目前为止已经被很多企业所应用,对于这方面人才的需求更是倍感吃紧。关于嵌入式具体应用不做详细的解说,在这里有必要强调一下,嵌入式软件开发是含义,和要想在嵌入式软件开发中取得不菲的成绩所需掌握那些最基础的知识。 嵌入式技术执行专用功能并被内部计算机控制的设备或者系统。嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,嵌入式技术及应用是计算机应用技术的新发展,具有广泛的应用领域和发展前景,就业形势看好。 嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑,笼统地来说,嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 这么多的应用可见嵌入式系统的前景和人才需求是相当大的,在最近几年中关于这一类的培训也层出不穷,所涉及到的课程和知识点相对来说还是有点差异的,在深圳达内福田培训中心网站上看到了关于嵌入式系统软件开发所需要掌握的几大知识点,感觉划分的很细致。 主要包含以下8个核心部分 1.Linux操作系统核心

嵌入式系统期末考试试卷 习题

1.下面哪一种工作模式不属于ARM特权模式(A)。 A.用户模式B.系统模式C.软中断模式D.FIQ模式 2.ARM7TDMI的工作状态包括( D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态 3.下面哪个Linux操作系统是嵌入式操作系统( B )。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器 5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一(A)。 A.寄存器段B.代码段 C.堆栈段D.数据段 选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 2.在Makefile中的命令必须要以(A)键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。 A.Ext B.FA T32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一( D )。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3) MP3,(4) GPS。(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。) 2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。 3.在Makefile中的命令必须要以(10) Tab 键开始。 4.Linux支持多种文件系统,主要包括哪些(写出其中4中就行)(11) Ext,(12) VFA T,(13) JFS,(14) NFS。(JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等) 5.VI的工作模式有哪三种:(15) 命令行模式,(16) 插入模式,(17) 底行模式。

嵌入式系统应用实例

嵌入式系统应用实例——智能家居 智能家居 智能家居是以住宅为平台,利用综合布线技术、网络通信技术、智能家居-系统设计方案安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境 智能家居是一个居住环境,是以住宅为平台安装有智能家居系统的居住环境,实施智能家居系统的过程就称为智能家居集成。 智能家居集成是利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将家居生活有关的设备集成。由于智能家居采用的技术标准与协议的不同,大多数智能家居系统都采用综合布线方式,但少数系统可能并不采用综合布线技术,如电力载波,不论哪一种情况,都一定有对应的网络通信技术来完成所需的信号传输任务,因此网络通信技术是智能家居集成中关键的技术之一。安全防范技术是智能家居系统中必不可少的技术,在小区及户内可视对讲、家庭监控、家庭防盗报警、与家庭有关的小区一卡通等领域都有广泛应用。自动控制技术是智能家居系统中必不可少的技术,广泛应用在智能家居控制中心、家居设备自动控制模块中,对于家庭能源的科学管理、家庭设备的日程管理都有十分重要的作用。音视频技术是实现家庭环境舒适性、艺术性的重要技术,体现在音视频集中分配、背景音乐、家庭影院等方面。 又称智能住宅。通俗地说,它是融合了自动化控制系统、计算机网络系统和网络通讯技术于一体的网络化智能化的家居控制系统。智能家居将让用户有更方便的手段来管理家庭设备,比如,通过家触摸屏、无线遥控器、电话、互联网或者语音识别控制家用设备,更可以执行场景操作,使多个设备形成联动;另一方面,智能家居内的各种设备相互间可以通讯,不需要用户指挥也能根据不同的状态互动运行,从而给用户带来最大程度的高效、便利、舒适与安全。 智能家居主机

LInux 嵌入式操作系统期末试题

1.简答题:请简单概括什么是嵌入式系统、并举出嵌入式系统的特点;(6分) 答: 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可剪裁,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统; 其特点如下: (1)嵌入式系统是面向特定系统应用的。 (2)嵌入式系统涉及计算机技术、微电子技术、电子技术、通信和软件等各个行业; 是一个技术密集、资金密集、高度分散、不断创新的知识集成系统; (3)嵌入式系统的硬件和软件都必须具有高度可定制性;只有这样才能适应嵌入式系 统应用的需要,在产品价格和性能方面具备竞争力; (4)嵌入式系统的生命周期相当长。 (5)嵌入式系统不具备本地系统开发能力,通常需要有一套专门的开发工具和环境。 2.嵌入式操作系统的优势:1.低成本开发系统 2.可应用多种硬件平台 3.可定制内核 4. 性能优异 5.良好的网络支持 3.linux文件类型:1.普通文件 2.目录文件 3.链接文件 4.设备文件 a.块设备文件(硬 盘:/dev/hda1)b.字符设备(串行端口接口设备) 4.linux文件属性:访问权限:r:可读w:可写x:可执行用户级别:u:文件拥有者g:所 属用户组 o:其他用户第一个字符显示文件类型:-普通d目录 l 链接… 5.简答题:(6分) linux目录结构:/bin 存放linux常用操作命令的执行文件(二进制文件) /boot 操作系统启动时所需要的程序 /dev Linux系统中使用的外部设备 /etc 系统管理时所需要的各种配置文件和子目录 /etc/rc.d Linux启动和关闭时要用到的脚本 /etc/rc.d/init Linux默认服务的启动脚本 /home 系统中默认用户工作根目录 /lib 存放系统动态链接共享库 /mnt软驱、光驱、硬盘的挂载点 /proc存放系统核心与执行程序所需信息、 /root超级用户登陆时的主目录 /sbin 存放管理员常用系统管理程序 /usr存放用户应用程序和文件 /var存放日志信息(答六点即可) 6.编写一个shell文件:创建studen01 –student30这30个用户,用户组为class1,之 后编写shell文件,删除所有用户

嵌入式操作系统期末考试答案

填空 1、嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、适用于应用系统,对(功能)、(可靠性)、(成本)、(体积)、(功耗)严格要求的专用计算机系统。 2、嵌入式系统开发采用的交叉开发环境是由(宿主机)和(目标机)组成的。 3、挂载设备到文件系统的命令是(mount),从文件系统中卸载设备命令是(umounts)。 4、在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面,进入vi之后,是处于 (命令)模式,要切换到(编辑)模式才能够输入文字。 5、GCC的编译流程分为4个步骤,分别为:(预处理),编译,(汇编),链接。 6、Linux系统的设备分为三类:(字符设备)、(块设备)和网络设备。 7、操作系统的功能包(处理机管理)、(存储管理)、(设备管理)、(信息管理)、(作业管理)。 选择 1、下面哪点不是嵌入式操作系统的特点。(C) (A)内核精简(B)专用性强(C)功能强大(D)高实时性 2、嵌入式Linux下常用的文件系统不包括以下哪一项(A) (A)nfs(B)romfs(C)yaffs(D)jffs 3、下面关于Shell的说法,不正确的是:(D) (A)操作系统的外壳(B)用户与Linux内核之间的接口程序(C)一个命令语言解释器(D)一种和C语言类似的程序语言 4、在Bootloader()模式下,目标机可以通过通信手段从主机更新系统。(B) (A)启动加载模式(B)下载模式(C)实时模式(D)保护模式 5、文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是: (A) (A)chmoda+xg+wexer1(B)chmod765exer1(C)chmodo+xexer1(D)chmodg+wexer1 6、在vi编辑环境中,下面()选项不是从命令行模式切换到插入模式。(C) (A)i(B)o(C)ESC(D)a 7、shell变量名命名中不包括()。(D) (A)字母(B)数字(C)下划线(D)括号 8、下列关于字符设备说法不正确的是()。(C) (A)以字节为单位逐个进行I/O操作(B)字符设备中的缓存是可有可无的 (C)支持随机访问(D)字符设备可以通过设备文件节点访问 9、以下哪一项是是硬盘设备文件()。(B) (A)fd0(B)hda(C)eth1(D)ht0 10、共享内存通信机制的缺点是()。(B) (A)需要花费额外的内存空间(B)需要使用额为的同步机制 (C)需要额外硬件支持(D)通信过程中需要反复读取内存,时间开销大 简答题 1.嵌入式操作系统在哪些方面较为突出的特点并请列举出4种目前较常用的手机嵌入 式操作系统。 四个方面:系统实时高效性硬件的相关依赖性软件固态化应用的专用性 四种手机操作系统:Window Mobile SymbianOSAndriod OSE

ARM嵌入式开发系统实例.

第一章 ARM概述及体系结构 1.ARM的全称:Advanced RISC Machine 2.ARM内核最大的优势在于高速度,低功耗,32位嵌入式RISC微处理器结构—ARM体系结构,ARM处理器核当前有6个系列产品:ARM7,ARM9,ARM9E,ARM10E,SecurCore,ARM11 3.ARM处理器的7种模式:用户模式,快速中断模式,外部中断模式,特权模式,数据访问模式,未定义模式,系统模式 4.ARM处理器共有37个寄存器,包括31个通用寄存器和6个状态寄存器。通用寄存器可以分为三类:未备份寄存器,备份寄存器,程序寄存器(PC),寄存器R14又称为连接寄存器,它有两个作用,第一:它存放了当前子程序的返回地址。第二:当异常中断发生时,该异常模式特定的物理R14被设置成该异常模式将要返回的地址。 5 CPRS(当前程序状态寄存器)中断控制位当I=1时禁止IRQ中断当F=1时禁止FIQ中断 6 ARM中断异常中断的种类:复位(RESET),未定义的指令(UNDENFINED INSTRUCTION),软件中断(SOFTWARE INTERRUPT),指令预取中止(PREFECH),数据访问中止(DATA ABORT),外部中断请求(IRQ),快速中断请求(FRQ) 7 ARM的存储器接口可以分为四类:时钟和时钟控制信号,地址类信号,存储器请求信号,数据时序信号。 第三章构造和调试ARM系统 1 ARM应用系统的设计包含硬件系统的设计和软件系统的设计。最基本得组成部分包括:电源部分,晶振电路,复位电路,ROM和RAM。 2.P96的RESET电路(大家好好看下,老师上课说了下的)复位电路主要完成系统的上电复位和系统在运行时的用户的按键复位功能。它的工作原理是:在系统上电是,通过电阻R1向电容C1充电,当C1两端的电压未达到高电平的门限电压时,RESET端输出为低电平,系统处于复位状态,当C1两端的电压达到了高电平的门限电压时,RESER端输出为高电平,系统处于正常工作状态。当用户按下按钮S1时,C1两端的电荷被卸放掉,reset 端输出为低电平,系统进入复位状态,再重复以上的充电过程,系统进入正常的工作状态。

嵌入式系统开发及应用

第一讲 对ARM-Cortex系列处理器来说,错误的说法是 D.Cortex-A为汽车电子系列 嵌入式系统分为微控制器与应用处理器两大类,这样表述是否正确?对 微处理器MCU的英文全称为Microcontroller Unit,多媒体应用处理器MAP的英文全称为Multimedia Application Processor,这样说法是否正确?对 简要阐述嵌入式系统的基本含义正确答案:1.嵌入式系统是一种计算机硬件和软件的组合,也许还有机械装置,用于实现一个特定功能。在某些特定情况下,嵌入式系统是一个大系统或产品的一部分。2.从计算机本身角度可将嵌入式系统概括表述为:嵌入式系统,即嵌入式计算机系统,它是不以计算机面目出现的“计算机”,这个计算机系统隐含在各类具体的产品之中,这些产品中,计算机程序起到了重要作用。 5简要阐述嵌入式系统的由来、特点及分类正确答案:由来:嵌入式计算机系统是测控系统对计算机需要而逐步产生的。 特点:嵌入式系统是不单独以通用计算机的面目出现的计算机系统,它的开发需要专用工具和特殊方法,使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质,开发嵌入式系统涉及软件、硬件及应用领域的知识等。 分类:按应用范围简单地把嵌入式系统分为电子系统智能化(微控制器类)和计算机应用延伸(应用处理器)两大类 6简要阐述MCU的基本含义,以及MCU出现前后测控系统设计方法发生的重要变化 正确答案:1:含义:在一块芯片内集成了CPU、存储器、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。 2:变化:MCU出现之前,人们必须用模拟电路、数字电路实现测控系统中的大部分计算与控制功能,这样使得控制系统体积庞大,易出故障。 MCU出现以后,测控系统设计方法逐步产生变化,系统中的大部分计算与控制功能由MCU 的软件实现。 第二讲 下面哪一模块可以将数字信号专为模拟信号?B. A/D GPIO即是通用输入输出引脚,MCU可读取该引脚的值,也可以向该引脚写值。对 说说什么是RTOS,你所了解的RTOS有哪些?有什么特点? 正确答案:要点1:实时操作系统要点2:RT-Linux VxWorks MQX 要点3:实时性多任务并发处理 第三讲 下面选项中,哪一项说法是正确的? C语言函数的返回值类型由函数的声明来确定,和return语句中的返回表达式的类型无关。 分析下面程序实现的功能int func(int data) { int count=0; while(data != 0) { data &= data -1;

嵌入式系统期末考试题1

嵌入式系统的设计可以分成三个阶段:分析、设计和实现 目前使用的嵌入式操作系统主要有 Windows CE/Windows Mobile Linux、uCos、和 Symbian XScale微处理器使用的是ARM公司ARMV5TE 版内核和指令集。微处理器有两种总线架构,使用数据和指令使用同一接口的是冯诺依曼,分开的指令和数据接口、取指和数据访问可以并行进行的是哈佛结构 ARM微处理器有七种工作模式,它们分为两类非特权模式、特权模式。其中用户模式属于非特权模式 ARM核有两个指令集,分别是ARM 、Thumb ARM微处理器复位后,PC(R15)的地址通常是0X0 , 初始的工作模式是supervisor 8、在ARM体系构架中对复杂的内存管理是通过系统控制协处理器cp15 和MMU(存储管理部件)来进行的。当系统发生Data Abort(数据)异常和Prefetch Abort(指令领取)异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。 9、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是GNU 工具链,ARM公司提供的工具链是ADS工具链 1、写一条 ARM 指令,完成操作r1 = r2 * 4(4分) MOV R1,R2, LSL #3 2、初始值R2=5,R3=4,R4=3,执行指令SUBS R2,R3,R4,LSR #2后,寄存器R2,R3的值分别是多少?(4分) R2=3,R3=4 3、有如下程序段,画出程序流程图,并回答执行程序以后R0的值是多少。(8分) num EQU 2

嵌入式系统设计与应用

嵌入式系统设计与应用 本文由kenneth67贡献 ppt文档可能在W AP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 课程名称:课程名称:嵌入式系统设计与应用 总学时:其中讲课36学时,上机实践环节12 36学时12学时总学时:其中讲课36学时,上机实践环节12学时教材:嵌入式系统设计教程》教材:《嵌入式系统设计教程》电子工业出版社马洪连参考书:参考书:1、《嵌入式系统开发与应用》北航出版社、田泽编著. 嵌入式系统开发与应用》北航出版社、田泽编著. 2、《ARM体系结构与编程》清华大学出版社杜春雷编著ARM体系结构与编程体系结构与编程》嵌入式系统设计与实例开发—ARM ARM与C/OS3、《嵌入式系统设计与实例开发ARM与μC/OS-Ⅱ》清华大学出版社王田苗、魏洪兴编著清华大学出版社王田苗、ARM嵌入式微处理器体系结构嵌入式微处理器体系结构》4、《ARM嵌入式微处理器体系结构》北航出版社、马忠梅等著. 北航出版社、马忠梅等著. 张石.ARM嵌入式系统教程嵌入式系统教程》5、张石.《ARM嵌入式系统教程》.机械工业出版2008年社.2008年9月 1 课程内容 绪论:绪论: 1)学习嵌入式系统的意义2)高校人才嵌入式培养情况嵌入式系统设计(实验课)3)嵌入式系统设计(实验课)内容安排 第1章嵌入式系统概况 1.1 嵌入式系统的定义1.2 嵌入式系统的应用领域及发展趋势1.3 嵌入式系统组成简介 第2章嵌入式系统的基本知识 2.1 2.2 2.3 嵌入式系统的硬件基础嵌入式系统的软件基础ARM微处理器的指令系统和程序设计ARM微处理器的指令系统和程序设计 2 第3章 3.1 3.2 3.3 基于ARM架构的嵌入式微处理器基于ARM架构的嵌入式微处理器ARM 概述嵌入式微处理器的组成常用的三种ARM ARM微处理器介绍常用的三种ARM 微处理器介绍 第4章 4.1 4.2 4.3 4.4 4.5 4.6 嵌入式系统设计 概述嵌入式系统的硬件设计嵌入式系统接口设计嵌入式系统人机交互设备接口嵌入式系统的总线接口和网络接口设计嵌入式系统中常用的无线通信技术 3 第5章嵌入式系统开发环境与相关开发技术 5.1 5.2 5.3 5.4 5.5 6.1 6.2 6.3 6.4 概述嵌入式系统的开发工具嵌入式系统调试技术嵌入式系统开发经验嵌入式系统的Bootloader Bootloader技术嵌入式系统的Bootloader技术μC/OS-II操作系统概述C/OS-II操作系统概述ADS开发环境ARM ADS开发环境C/OS-II操作系统在ARM系统中的移植操作系统在ARM μC/OS-II操作系统在ARM系统

最新《嵌入式系统原理与设计》-期末考查试卷

《嵌入式系统原理与设计》期末考查试卷 一、选择题(每小题2分,共20分) 1. ARM伪指令的作用是() A)属于ARM指令集,也方便编程B)方便编程,但编译器可不管它 C)方便编程,但编译器不认D)不属于ARM指令集,但方便编程 2. 要让ARM进入中断模式,则需向CPSR中写入下列数据() A)0x0011 B)0x0012 C)0x0013 D)0x0017 3. ARM状态时,CPSR正确的是()。 A)32位,T=0,Thumb指令B)32位,T=0,ARM指令 C)16位,T=0,Thumb指令D)16位,T=1,ARM指令 4. ARM内核采用的指令是() A)RISC B)CISC C)C51 D)X86 5. ARM指令格式中,影响CPSR条件代码值的是() A)cond B)S C)Rd D)operand2 6.下面指令中不是分支指令的是()。 A)B B)BL C)BH D)BX 7. 启动RTC的C语言操作语句是()。 A)CCR=0x01 B)CIIR=0x01 C)CTC=0x01 D)CLK=0x01 8. 当有复位、IRQ、SWI和FIQ多个异常同时发生时,正确的处理顺序是()。 A)复位→IRQ→SWI→FIQ B)复位→FIQ→IRQ→SWI C)IRQ→SWI→FIQ→复位D)FIQ→IRQ→SWI→复位 9. 程序计数器PC,即()。 A)R15,总指向正在“取指”的指令B)R15,总指向正在“译码”的指令 C)R15,总指向正在“执行”的指令D)R14,总指向正在“取指”的指令 10. 关于ARM的PWM,下列说法错误的是() A)所有的PWM输出频率都是相同的; B)PWMMR0控制PWM周期; C)PWM1不具有双边沿PWM输出; D)若将PWM3和PWM5用作双边沿PWM输出,能有3路双边沿PWM输出。 二、填空题(每空1分,共26分) 11. ARM处理器直接支持8位字节、16位半字、位字等数据类型。指令集为半字指令集、ARM指令集为字指令集。系统上电时处理器默认为状态。处理器的操作状态可从当前程序状态寄存器(即)中的控制位T中看出,当时,处理器执行Thumb指令。 12. uC/OS-II系统函数根据功能可分为、系统管理函数、、时间管理函数和。 13. 当一个特定的异常中断发生时,会将当前值保存到对应的异常模式下的中,然后把CPSR设置为对应的异常模式;退出异常模式时,可利用保存在中的值来恢复。 14. Flash是嵌入式系统的首选存储器件,该器件有和Nor Flash两种。 15. VIC控制寄存器包括、中断使能寄存器和。 16. ARM系统启动后或复位后首先运行,然后运行代码,这段代码由汇编指令构成,可实现定义、初始化、系统变量初始化、初始化、I/O初始化、外围初始化、地

嵌入式系统期末考试题库及答案

《嵌入式系统》试题库 《嵌入式系统》试题库 一、填空题 嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适、 1应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。、 2从层次角度来看,嵌入式

系统由四大部分组成,分别是:应用软件层、操作系统层、、 3板级支持包(或硬件抽象层) 和硬件层。嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。、 4嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统、 5集成和系统测试。需求分析包括:功能性需求分析和非功能性需求分析。 6、确定输入信号是数字信号还 是模拟信号属于功能性需求。 7、确定系统的物理尺寸和重量属于非功能性需求。 8、在嵌 入式系统的设计过程中,其中规格说明解决“做什么”。 9、在嵌入式系统的设计过程中,其 中体系结构设计解决“如何做”。 10、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。 11、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段 完成。、 12在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。、13在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。、 14在嵌入式系统 的设计过程中,完成版图设计应在构件设计阶段完成。、15在嵌入式系统的设计过程中,完 成软件设计应在构件设计阶段完成。 16、反映嵌入式系统设计人员的水平能力主要在于总体 设计(需求分析、规格说明和体系 17、结构设计)和系统调试。设计流程指的是设计过程中所经历的过程步骤。、 18核的模块级重用和基于平台的系统级重用。 IP 设计重用技术主要分为基于19、 软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验 20、证几个阶段组成。嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和、21页共页第 1 44 《嵌入式系统》试题库

有操作系统的嵌入式系统软件开发

《嵌入式系统》课程设计 题目有操作系统的嵌入式系统软件开发学院(部) 电子信息工程学院 专业 学生姓名 学号年级 指导教师职称 2011 年 6 月

目录 第1章课程设计的任务说明 (2) 1.1 课程设计的目的 (2) 1.2 课程设计的要求 (2) 2.1 有操作系统的软件开发流程 (3) 2.1.1嵌入式系统开发概述 (3) 2.1.2嵌入式软件开发概述 (4) 2.2 有操作系统的软件运行模式 (6) 第3章 Linux操作系统简介 (9) 第4章 uC linux操作系统简介 (10) 第5章开发环境的建立 (11) 5.1 建立主机Linux平台 (11) 5.1.1 虚拟机VMware软件的安装 (11) 5.1.2 安装red hat (14) 5.1.3 安装vMware tool (19) 5.1.4 安装共享目录 (20) 5.1.5 安装交叉编译 (20) 第6章 uC Linux裁剪与编译 (21) 第7章操作系统下多任务应用程序开发 (25) 总结 (27) 参考文献 (28)

第1章课程设计的任务说明 1.1 课程设计的目的 (1)了解有操作系统的嵌入式系统软件开发流程; (2)了解Linux操作系统的基本知识; (3)熟悉Linux操作系统的常用命令; (4)掌握Linux操作系统的VI编辑器用法; (5)掌握Linux操作系统的gcc编译器用法; (6)了解uCLinux操作系统的基本知识; (7)掌握uCLinux操作系统内核编译环境的建立; (8)熟悉uCLinux内核编译步骤; (9)掌握将编译好的内核下载到系统运行的步骤; (10)掌握uClinux多任务编程与自启动。 1.2 课程设计的要求 (1)掌握课程设计所涉及到的相关知识。 (2)拓宽和加深学生对已学过的理论知识的理解,从而掌握比较全面的专业知识。 (3)进一步熟悉嵌入式系统软件开发流程,更深刻地理解嵌入式系统原理和相关接口电路的实现。 (4)按照要求撰写课程设计报告。

嵌入式系统_期末复习题1

1.下面哪一种工作模式不属于ARM特权模式( A )。 A.用户模式B.系统模式C.软中断模式D.FIQ模式 2.ARM7TDMI的工作状态包括( D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态 3.下面哪个Linux操作系统是嵌入式操作系统( B )。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器 5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一( A )。 A.寄存器段B.代码段 C.堆栈段D.数据段 选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 2.在Makefile中的命令必须要以( A )键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。 A.Ext B.FAT32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一( D )。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3)

东师春季《嵌入式系统》期末考核答案

期末作业考核 《嵌入式系统》 满分100分 一、判断题(每题3分,共30分) 1. 以32位RISC嵌入式处理器加嵌入式操作系统为标志的嵌入式系统为其发展的第三个阶段。(对) 2. 嵌入式系统的硬件一般包括嵌入式微处理器、外围电路和嵌入式外围设备等组成。(对) 3. CodeWarrior具有很多功能,但不具备对文本文件进行比较的功能。(错) ( 4. 一般情况下,GNU交叉工具链包括若干个工具软件。(对) 5. Linux内核的主要功能仅包括内存管理、任务调试、进度间通信和网络接口。(错) 6. Linux采用的是树型目录结构,其中,最上层是根目录,其他的目录都是从根目录出发而生成的。(对) 7. 当程序状态寄存器CPSR的I位置1时,允许IRQ中断。(错) 8. 所谓大端序(也称为大端模式)是指字数据的高位字节存储在高地址中,而字数据的低字节则存放在低地址中。(错) 9. DCW用于分配一段半字对齐的内存单元,DCWU分配的内存单元并不严格半字对齐。(对) 10.一个程序(可以包含多个源文件)中至少要有一个ENTRY(可以有多个ENTRY),但一个源文件中最多只能有一个ENTRY(可以没有ENTRY)。(对) 二、简答题(每题10分,50分) | 1. 比较Nor Flash和Nand Flash有相同和不同之处 1)相同点:同属于非易失型存储器;可对存储器单元块进行擦写和再编程;写入前必须先执行擦除 操作;在进行写入和擦除操作时都需要MTD。 2)不同点: a)性能:Nor-Flash的读取速度比Nand-Flash稍快;Nand-Flash的写入速度比Nor-Flash快很多; Nand-Flash的4ms擦除速度远比Nor-Flash的5s快;Nand-Flash的擦除单元更小,擦除电路 更少。 b)接口差别:Nor-Flash带有SRAM接口;Nand-Flash使用复杂的I/O口来串行地存取数据。 c)容量和成本:Nand-Flash的单元尺寸几乎是Nor-Flash器件的一半;Nand-Flash的成本低于 Nor-Flash;Nand-Flash的容量大于Nor-Flash。 d)研发公司:Nand-Flash由日本东芝公司研发,Nor-Flash由Intel公司研发。 e)用途:Nand-Flash相当于硬盘,用于存放数据,使用时要MTD;Nor-Flash存入程序,执行 程序,且不需要任何软件支持。 】

嵌入式系统开发综述

嵌入式系统开发综述 11科技1班 学习了一个学期的《嵌入式系统开发》,加上上学期的《嵌入式操作系统》,虽然没能完完全全的掌握其中的奥妙,但也了解了不少。 随着计算机技术的发展,计算机技术逐渐分为两大分支——通用型计算机系统和嵌入式计算机系统。 由于嵌入式计算机系统要嵌入到对象体系中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。 通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。而嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。 早期,人们勉为其难地将通用计算机系统进行改装,在大型设备中实现嵌入式应用。然而,对于众多的对象系统(如家用电器、仪器仪表、工控单元……),无法嵌入通用计算机系统,况且嵌入式系统与通用计算机系统的技术发展方向完全不同,因此,必须独立地发展通用计算机系统与嵌入式计算机系统,这就形成了现代计算机技术发展的两大分支。 如果说微型机的出现,使计算机进入到现代计算机发展阶段,那么嵌入式计算机系统的诞生,则标志了计算机进入了通用计算机系统与嵌入式计算机系统两大分支并行发展时代,从而导致20世纪末,计算机的高速发展时期。 从概念上我们知道,嵌入式系统是计算机的一种应用形式,通常

指嵌入在宿主设备中的微处理机系统。它所强调的是隐藏计算机的常见形式,辅助寄宿主设备,使宿主设备的功能智能化。据此,通常把嵌入式系统定义为一种以应用为中心,以计算机为基础,软硬件可以剪裁,适用于系统,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 嵌入式系统有如下共同点: (1)功能专一:专门为某一特定应用系统而设计; (2)结构紧凑:嵌入式系统结构必须特别的紧凑,从而达到小体积,高性能,低成本,低功耗; (3)智能灵活及实时性:即要对不同的情况做出不同的反应,同时必须实时地给出计算的结果并进行实时控制。 它包括硬件和软件两部分。硬件包括处理器、微处理器、存储器、外部设备、I/O端口和图形控制器等;软件部分包括操作系统软件(要求实时和多任务)和应用程序编程。 一百多年前,世界上出现了计算机,随着技术不断发展,计算机系统也飞速的发展、扩散到我们的日常学习生活中来,嵌入式系统的出现不算太早,但也有了30多年的历史。近几年来,计算机、通信、消费电子的一体化趋势日益明显,嵌入式技术已成为一个研究热点。纵观嵌入式技术的发展过程,大致经历四个阶段。 第一阶段是以单芯片为核心的可编程控制器形式的系统,具有与监测、伺服、指示设备相配合的功能。这类系统大部分应用于一些专业性强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制。这一阶段系统的主要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简单、价格低,以前在国内工业领域应用较为普遍,但是已经远不能适应高效的、需要大容量存储的现代工业控制和新兴信息家电等领域的需求。

嵌入式系统开发期末复习题

一、笔试题 1.GNU的含义是。 2.解压缩扩展名为的命令是。 3.编译内核的指令是。 4.Linux操作系统的内核是单一体系结构,单一体系结构的缺点是可扩展性和可维护性比 较差,为了弥补单一体系结构的缺陷,Linux操作系统使用了一种全新的机制——。 5.make内编译的文件为。 6.Linux采用著名的算法来解决内存碎片问题。 7.分配在物理上连续的内存,这些内存是实际上存在的,并且是连续的,根据 slab块进行分配。 8.Linux内核每隔一定的时间会周期性地发出中断,是用来定义每一秒有几次定时 中断的。 9.在Linux内核下得设备都有一定的编号形式,一般由设备号和设备号组成。 10.在Linux系统中,以方式访问设备。 11.某文件的权限为:d-rw-r--r--,用数值形式表示该权限,则该八进制数为:,该 文件是。 12.vi编辑器具有两种工作模式:和。 13.linux可以运行在两种模式下:和内核模式。 14.模块可以通过命令插入内核,也可以通过命令从内核中移出。 15.Linux 内核以上的版本中,模块经过编译、链接后生成的内核模块文件的后缀 为。 16.linux的分配模式是用来解决在内存中对象重复生成、使用和释放问题的。 17.80x86体系结构下,内核与时钟密切相关,与时钟相关的硬件有、时间 戳计数器(TSC)、可编程间隔定时器、SMP系统上的本地APIC定时器和高精度事件定时器(HPET)。 18.Linux系统的设备分为四种类型:、、网络接口和总线 设备。 19.DHCP可以实现动态分配。(IP地址) 20.在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为。(文 件系统) 21.可以用ls –l命令来观察文件的权限,每个文件的权限都用r、w、x这三个字母表示, 其中r表示权限,w表示权限,x表示权限。 22.标准C函数库的输入输出头文件为。 23.一般情况下,操作系统采用两种体系结构:一种是微内核;另一种是。 24.系统调用是操作系统内核提供的、功能相对较强的一系列。

嵌入式系统及应用

嵌入式系统及应用习题 第一章操作系统概述 1.什么是嵌入式系统? 2.简述嵌入式系统的发展过程。 3.嵌入式系统有哪些特点? 4.嵌入式系统的应用领域有哪些? 5.举出几个嵌入式系统应用的例子,通过查资料和独立思考,说明这些嵌入式系统产品主要由哪几部分组成,每个组成部分完成什么功能。(提示:数码相机、办公类产品、工业控制类产品的例子等。) 6.通过查阅资料,你认为嵌入式系统的发展趋势如何? 第二章嵌入式系统基础知识 1.从硬件系统来看,嵌入式系统由哪些部分组成? 2.从软件系统来看,嵌入式系统由哪几部分组成? 3.嵌入式处理器的按体系结构分哪几类? 4.半导体存储器分为哪几种?说明它们的特点及用途。 5. 嵌入式软件体系结构有哪几种类型,优缺点如何? 6. 嵌入式系统产品开发一般包括哪几个阶段?每一个阶段的主要工作有哪些? 7.嵌入式系统主要由软件和硬件两大部分组成,其中有的功能可以用软件实现,又可以用硬件实现,那么软件和硬件的划分一般有哪些原则?举出几个同一个功能既可以用软件实现,又可以用硬件实现的例子。 大作业1: 选择一个嵌入式系统产品(如手机、PDA、工业控制产品、智能家用电器等),利用本章学过的知识,假设你是系统的总设计师,那么你认为应该如何运作这个产品的开发,直到把产品从实验室推向市场。 提示:题目较大,嵌入式系统开发包括需求分析、设计、实现、测试等方面。在实现方面,不必把产品开发出来(即不必设计电路图,不必编写程序代码,只需概括地写出软件硬件需要完成的工作即可)。 第三章嵌入式系统平台构建 1.嵌入式系统的硬件有哪几个组成部件? 2.通用处理器与嵌入式处理器有哪些相同和不同的地方? 3.常用的嵌入式处理器、控制器、数字信号处理器有哪些?各自有什么特点,通常适用于哪些方面的应用?除了书上介绍的嵌入式处理器之外,你还能提供哪些嵌入式处理器(型号和制造商)? 4.设计嵌入式系统时,.选择嵌入式处理器需要考虑哪些因素? 5.嵌入式操作系统有哪些特点,怎样选择嵌入式操作系统? 6. 举例说明ARM处理器和ucos操作系统的应用。 7. 说明S3C44B0X存储空间的分配。 第四章 ARM嵌入式微处理器体系结构 1. ARM处理器的特点有哪些? 2. 简述ARM处理器的工作状态。 3. 简述ARM处理器的7种运行模式。

嵌入式系统及应用期末试卷A

北京理工大学珠海学院 2014 ~ 2015学年第二学期《嵌入式系统及应用》期末试卷(A) 1、嵌入式系统是以应用为中心,以计算机技术位基础,且软硬件可裁剪,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 2、目前使用的嵌入式操作系统主要有这几种:Linux 、 VxWorks 、 windows 等。 3、ARM920TDMI微处理器名称中,T表示支持16位宽度的压缩指令集,D 表示支持在片调试(Debug),M表示具有增强型乘法器,I表示具有嵌入式ICE部件。 4、ARM920T 微处理器中ARM 指令集的代码宽带是32位,Thumb 指令集的宽度是16位。 5、ARM920T微处理器的指令流水采用了典型的RISC五级流水结构,将指令执行过程分为取指、译码、执行、访存和写回5个步骤。 6、ARM处理器有两种总线架构,数据和指令使用同一接口的是冯诺依曼,数据和指令分开使用不同接口的是哈佛结构。 7、ARM9处理器内部共有37个32 位处理器,其中31个用过通用寄存器,6个用作状态寄存器。其中CPSR寄存器中文名称是当前程序状态寄存器,其上的I位置1时禁止IRQ中断,T位置0时,指示ARM状态。 8、Cache 的中文名称为高速缓存。 9、嵌入式系统有两种存储代码和数据的字节顺序,一种是小端对齐,另一种是大端对齐。 10、嵌入式系统移植时,首先要对嵌入式系统软件层次的系统启动应到程序层、操作系统层和用户应用程序层进行修改和剪裁。 二、选择题(每小题2分,共20分)【得分:】 1、在指令系统的各种寻址方式中,获取操作数最快的方式是( B )。 A. 变址寻址 B. 立即寻址 C. 寄存器寻址 D. 间接寻址 2、寄存器R14除了可以做通用寄存器外,还可以做( B )。

相关文档
最新文档