tag 标签: 嵌入式学习

相关博文
  • 热度 15
    2015-6-15 15:16
    825 次阅读|
    0 个评论
    如何学习嵌入式!   最近很多朋友都在问,如何学习嵌入式,我想我可以做一些唠叨,嵌入式的入门门槛稍微高一点,但是再高的城墙也是小砖头筑起来的,所以没有必要因为门槛高就觉得很困难,一步一个脚印,贵在坚持就可以了。   学习嵌入式,该学习什么基本的知识呢?   首先C语言,这个是毋庸置疑的,不管是做嵌入式软件还是硬件开发的人员,对C语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人,现在绝大部分都是用C语言,你说不掌握它可以吗?至于如何学习C语言,我想这些基础的知识每个人都有自己的方法,关键要去学习,看书也好,网上找些视频看也好。很多人会问,C语言要学到怎么样,我觉得这没有标准的答案。我想至少你在明白了一些基础的概念后,就该写代码了,动手才是最重要的,当你动手了,遇到问题了,再反过来学习,反过来查查课本,那时的收获就不是你死看书能得到的。   其次,应该对操作系统有所了解,这对你对硬件和软件的理解,绝对有很大的帮助。应该把系统的管理理解一下,比如进程、线程,系统如何来分配资源的,系统如何来管理硬件的,当然,不是看书就能把这些理解透,如果不是一时能理解,没关系,多看看,结合以后的项目经验,会有更好的理解的。   还有应该学习嵌入式系统,如linux或者wince下的编程,这些对以后做应用的编程很有帮助,当然,如果做手机的话,那可以学习MTK、塞班、Android等操作系统,Android是以后发展的趋势,现在很热门,Android也是基于linux系统封装的,所以建议先学习下linux。   还有,应该学习下单片机或者ARM或者MIPS,很多人说我没有单片机的经验,直接学ARM可以吗?我觉得那完全没有问题的,当然如果你学习过单片机,那最好不过了,以后学习ARM就更简单了。   最后如果你把以上的知识都有所了解后,就该去阅读阅读一些优秀的代码,比如结合arm芯片手册学习去学习下UBOOT的源代码,了解下最小的系统开发,那对你整个嵌入式开发的非常有帮助的,可以的话,还可以学习下linux的源代码,当然如果你直接阅读2.6的代码,我想你会很痛苦的,可以先看看linux 代码早期的版本,比如0.12 的代码等等,麻雀虽小,五脏俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程师。   至于上面说的知识如何学习呢?每个人都应该去找自己最好的方法,所谓的最好的方法就是最适合自己的方法。很多人看不进书,那就去看看视频吧。视频也应该要选择,不是随便看看,应该要有所选择,有所挑选。   最后,希望这篇文章对热爱嵌入式,想致力于嵌入式开发的朋友有所帮助。送给大家一句简单而又朴素的话,坚持就是胜利,贵在坚持!      徐工交流Q2269819323 欢迎大家进入嵌入式交流群244313073共同交流、学习  
  • 热度 16
    2014-7-20 16:09
    1013 次阅读|
    0 个评论
      自从上次捣鼓了SD卡烧录系统后,就继续按照手册进行下一步——TFTP方式烧录,本人使用的Ubuntu 12.04 系统,基本上是按照手册操作,遇到了一些问题,索性有万能的google,这里列出一些跟手册有出入的地方: 首先是TFTP的搭建,因为我用的不是fedora系统,所有有些不同: sudo apt-get install tftp-hpa tftpd-hpa xinetd 在根目录下创建文件夹/tftpboot/ 修改目录权限chmod -R 777 /tftpboot/ 修改tftp配置文件,如果没有就创建 #vim /etc/xinetd.d/tftp service tftp          {              disable         = no              socket_type     = dgram              protocol        = udp              wait            = yes              user            = root              server          = /usr/sbin/in.tftpd              server_args     = -s /tftpboot/              source          = 11              cps             = 100 2              flags =IPv4          } 修改inetd.conf文件 # vim /etc/inetd.conf tftp  dgram    udp    wait    nobody    /usr/sbin/tcpd /usr/sbin/in.tftpd   /tftpboot/ 其中/tftpboot/root为 tftp共享目录 修改tftpd-hpa文件 # vim /etc/default/tftpd-hpa #RUN_DAEMON="no" #OPTIONS="-s /tftpboot/root -c -p -U tftpd" TFTP_USERNAME="tftp" TFTP_DIRECTORY="/tftpboot/root" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="-l -c -s" 这样就算装好了,对了,不要忘了重新启动tftp服务。 service tftpd-hpa restart 在/tftp目录下创建任意文件:123.txt tftp localhost 进入tftp命令行 get 123.txt 看是否下载成功 下面是重启内容:                                                                    NAND read: device 0 offset 0x40000, size 0x400000                                                                                                                                                    Reading data from 0x43f800 -- 100% complete.                                                       4194304 bytes read: OK                                                                            Boot with zImage                                                                                                                                                                                     Starting kernel ...                                                                                                                                                                                  Uncompressing Linux... done, booting the kernel.                                                   Linux version 3.2.50+ (d02cj@LinuxServer0) (gcc version 4.4.6 (crosstool-NG 1.13.3) ) #407 Mon Fe4 CPU: ARM926EJ-S revision 5 (ARMv5TEJ), cr=00053177                                     CPU: VIVT data cache, VIVT instruction cache                                                       Machine: SMDK2416                                                                                  Memory policy: ECC disabled, Data cache writeback                                                 CPU S3C2416/S3C2450 (id 0x32450003)                                                                S3C24XX Clocks, Copyright 2004 Simtec Electronics                                                 CPU: MPLL on 534.000 MHz, cpu 534.000 MHz, mem 133.500 MHz, pclk 66.750 MHz                        CPU: EPLL on 96.000 MHz, usb-bus 48.000 MHz                                                       Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256                         Kernel command line: root=/dev/mtdblock2 console=ttySAC0,115200                                    PID hash table entries: 256 (order: -2, 1024 bytes)                                                Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)                                     Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)                                       Memory: 64MB = 64MB total                                                                         Memory: 59612k/59612k available, 5924k reserved, 0K highmem                                        Virtual kernel memory layout:                                                                          vector  : 0xffff0000 - 0xffff1000   (   4 kB)                                                     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)                                                     vmalloc : 0xc4800000 - 0xf6000000   ( 792 MB)                                                     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)                                                     modules : 0xbf000000 - 0xc0000000   (  16 MB)                                                       .text : 0xc0008000 - 0xc048f598   (4638 kB)                                                       .init : 0xc0490000 - 0xc04d4000   ( 272 kB)                                                       .data : 0xc04d4000 - 0xc04ff500   ( 174 kB)                                                        .bss : 0xc04ff524 - 0xc052c81c   ( 181 kB)                                                 SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1                            NR_IRQS:109                                                                                        irq: clearing subpending status 00000003                                                          irq: clearing subpending status 00000002                                                          Console: colour dummy device 80x30                                                                Calibrating delay loop... 266.03 BogoMIPS (lpj=665088)                                             pid_max: default: 32768 minimum: 301                                                               Mount-cache hash table entries: 512                                                                CPU: Testing write buffer coherency: ok                                                            NET: Registered protocol family 16                                                                S3C Power Management, Copyright 2004 Simtec Electronics                                           S3C2416: Initializing architecture                                                                S3C2416: IRQ Support                                                                               S3C24XX DMA Driver, Copyright 2003-2006 Simtec Electronics                                        DMA channel 0 at c4804000, irq 88                                                                  DMA channel 1 at c4804100, irq 89                                                                  DMA channel 2 at c4804200, irq 90                                                                  DMA channel 3 at c4804300, irq 91                                                                  DMA channel 4 at c4804400, irq 92                                                                  DMA channel 5 at c4804500, irq 93                                                                  DMA channel 6 at c4804600, irq 99                                                                  DMA channel 7 at c4804700, irq 100                                                                bio: create slab bio-0 at 0                                                                      SCSI subsystem initialized                                                                         usbcore: registered new interface driver usbfs                                                    usbcore: registered new interface driver hub                                                       usbcore: registered new device driver usb                                                          input: helper2416_keypad as /devices/platform/helper2416_keypad/input/input0                      s3c-i2c s3c2410-i2c: slave address 0x10                                                            s3c-i2c s3c2410-i2c: bus frequency set to 65 KHz                                                   s3c-i2c s3c2410-i2c: i2c-0: S3C I2C adapter                                                       Advanced Linux Sound Architecture Driver Version 1.0.24.                                           NET: Registered protocol family 2                                                                  IP route cache hash table entries: 1024 (order: 0, 4096 bytes)                                     TCP established hash table entries: 2048 (order: 2, 16384 bytes)                                  TCP bind hash table entries: 2048 (order: 1, 8192 bytes)                                           TCP: Hash tables configured (established 2048 bind 2048)                                           TCP reno registered                                                                               UDP hash table entries: 256 (order: 0, 4096 bytes)                                                 UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)                                           NET: Registered protocol family 1                                                                  RPC: Registered named UNIX socket transport module.                                                RPC: Registered udp transport module.                                                             RPC: Registered tcp transport module.                                                             RPC: Registered tcp NFSv4.1 backchannel transport module.                                          NetWinder Floating Point Emulator V0.97 (double precision)                                        s3c-adc s3c24xx-adc: attached adc driver                                                          helper2416 pwm device Driver                                                                      s3c24xx-pwm s3c24xx-pwm.0: tin at 33375000, tdiv at 33375000, tin=divclk, base 0                   s3c24xx-pwm s3c24xx-pwm.1: tin at 33375000, tdiv at 33375000, tin=divclk, base 8                   s3c24xx-pwm s3c24xx-pwm.2: tin at 11125000, tdiv at 11125000, tin=divclk, base 12                  s3c24xx-pwm s3c24xx-pwm.3: tin at 11125000, tdiv at 11125000, tin=divclk, base 16                  nfs4filelayout_init: NFSv4 File Layout Driver Registering...                                       NTFS driver 2.1.30 .                                                                   JFFS2 version 2.2. (NAND)  
  • 热度 14
    2014-7-20 16:05
    2952 次阅读|
    0 个评论
    基本上是按照手册做的,一次操作成功还是蛮高兴的!觉得HELPER2416对于咱这种初学者来说,做的最周到的就是那本详尽的开发手册了,开发步骤很相近,对于操作中可能出现的问题也讲解的很到位,比如我已开始看手册不仔细 ,结果在一开始烧写到SD时总是提示无法烧录 ,觉得可能是SD卡的原因就换了张SD卡,还是老问题,无法烧录 。唉,没办法,继续看手册,结果注意事项里看到“WIN7下以管理员身份运行软件”,马上操作一遍,果然,秒刷到位。紧接着的按照手册说明一步步继续执行就可以了!整体来说是很快的,三分钟以内吧! 首次执行的时候会让校准触摸屏,如下所示: 接下来贴一下PUTTY打印的信息:   OK U-Boot 1.3.4 (Mar  4 2014 - 16:23:56) for SMDK2416 CPU:   S3C2416@534MHz        Fclk = 534MHz, Hclk = 133MHz, Pclk = 66MHz Board: SMDK2416 DDR2 DRAM:    64 MB Flash:   1 MB SD/MMC: 15087MB NAND:    256 MB SD/MMC:  After SD/MMC boot *** Warning - bad CRC or moviNAND, using default environment In:      serial Out:     serial Err:     serial smc911x: MAC 00:40:5c:26:0a:5b Hit any key to stop autoboot:  0 NAND scrub: device 0 whole chip Warning: scrub option will erase all factory set bad blocks!          There is no reliable way to recover them.          Use this command only for testing purposes if you          are sure of what you are doing! Erasing at 0x3ae0000 --  23% complete. NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5 Erasing at 0x47a0000 --  28% complete. NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5 Erasing at 0x4a20000 --  29% complete. NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5 Erasing at 0xffe0000 -- 100% complete. Scanning device for bad blocks s3c-nand: ECC uncorrectable error detected s3c-nand: ECC uncorrectable error detected s3c-nand: ECC uncorrectable error detected s3c-nand: ECC uncorrectable error detected s3c-nand: ECC uncorrectable error detected s3c-nand: ECC uncorrectable error detected OK NAND erase: device 0 whole chip Skipping bad block at  0x03c00000 Skipping bad block at  0x04920000 Skipping bad block at  0x04a40000 Erasing at 0xffe0000 -- 100% complete. OK Reading data from sector 3800000 (512 sectors).. completed NAND write: device 0 offset 0x0, size 0x40000 262144 bytes written: OK Reading kernel from sector 30887886 (8192 sectors).. completed NAND write: device 0 offset 0x40000, size 0x300000 Writing data at 0x33f800 -- 100% complete. 3145728 bytes written: OK Reading data from sector 3600000 (117942 sectors).. completed NAND write: device 0 offset 0x600000, size 0x3996c00 Bad block at 0x3c00000 in erase block from 0x3c00000 will be skipped Writing data at 0x3df7800 -- 100% complete. 60386304 bytes written: OK Helper2416 # ls Unknown command 'ls' - try 'help' Helper2416 # ▒OK ============================================================================================================ U-Boot 1.3.4 (Mar  4 2014 - 16:19:04) for SMDK2416 CPU:   S3C2416@534MHz        Fclk = 534MHz, Hclk = 133MHz, Pclk = 66MHz Board: SMDK2416 DDR2 DRAM:    64 MB Flash:   1 MB NAND:    256 MB *** Warning - bad CRC or NAND, using default environment In:      serial Out:     serial Err:     serial smc911x: MAC 00:40:5c:26:0a:5b Hit any key to stop autoboot:  0 NAND read: device 0 offset 0x40000, size 0x300000 Reading data from 0x33f800 -- 100% complete. 3145728 bytes read: OK Boot with zImage Starting kernel ... Uncompressing Linux... done, booting the kernel. Linux version 3.2.50+ (d02cj@LinuxServer0) (gcc version 4.4.6 (crosstool-NG 1.13.3) ) #407 Mon Feb 24 22:49:49 CST 2014 CPU: ARM926EJ-S revision 5 (ARMv5TEJ), cr=00053177 CPU: VIVT data cache, VIVT instruction cache Machine: SMDK2416 Memory policy: ECC disabled, Data cache writeback CPU S3C2416/S3C2450 (id 0x32450003) S3C24XX Clocks, Copyright 2004 Simtec Electronics CPU: MPLL on 534.000 MHz, cpu 534.000 MHz, mem 133.500 MHz, pclk 66.750 MHz CPU: EPLL on 96.000 MHz, usb-bus 48.000 MHz Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256 Kernel command line: root=/dev/mtdblock2 console=ttySAC0,115200 rootfstype=yaffs2 mem=64m PID hash table entries: 256 (order: -2, 1024 bytes) Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 64MB = 64MB total Memory: 59612k/59612k available, 5924k reserved, 0K highmem Virtual kernel memory layout:     vector  : 0xffff0000 - 0xffff1000   (   4 kB)     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)     vmalloc : 0xc4800000 - 0xf6000000   ( 792 MB)     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)     modules : 0xbf000000 - 0xc0000000   (  16 MB)       .text : 0xc0008000 - 0xc048f598   (4638 kB)       .init : 0xc0490000 - 0xc04d4000   ( 272 kB)       .data : 0xc04d4000 - 0xc04ff500   ( 174 kB)        .bss : 0xc04ff524 - 0xc052c81c   ( 181 kB) SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:109 irq: clearing subpending status 00000002 Console: colour dummy device 80x30 Calibrating delay loop... 266.03 BogoMIPS (lpj=665088) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok NET: Registered protocol family 16 S3C Power Management, Copyright 2004 Simtec Electronics S3C2416: Initializing architecture S3C2416: IRQ Support S3C24XX DMA Driver, Copyright 2003-2006 Simtec Electronics DMA channel 0 at c4804000, irq 88 DMA channel 1 at c4804100, irq 89 DMA channel 2 at c4804200, irq 90 DMA channel 3 at c4804300, irq 91 DMA channel 4 at c4804400, irq 92 DMA channel 5 at c4804500, irq 93 DMA channel 6 at c4804600, irq 99 DMA channel 7 at c4804700, irq 100 bio: create slab bio-0 at 0 SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb input: helper2416_keypad as /devices/platform/helper2416_keypad/input/input0 s3c-i2c s3c2410-i2c: slave address 0x10 s3c-i2c s3c2410-i2c: bus frequency set to 65 KHz s3c-i2c s3c2410-i2c: i2c-0: S3C I2C adapter Advanced Linux Sound Architecture Driver Version 1.0.24. NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. NetWinder Floating Point Emulator V0.97 (double precision) s3c-adc s3c24xx-adc: attached adc driver helper2416 pwm device Driver s3c24xx-pwm s3c24xx-pwm.0: tin at 33375000, tdiv at 33375000, tin=divclk, base 0 s3c24xx-pwm s3c24xx-pwm.1: tin at 33375000, tdiv at 33375000, tin=divclk, base 8 s3c24xx-pwm s3c24xx-pwm.2: tin at 11125000, tdiv at 11125000, tin=divclk, base 12 s3c24xx-pwm s3c24xx-pwm.3: tin at 11125000, tdiv at 11125000, tin=divclk, base 16 nfs4filelayout_init: NFSv4 File Layout Driver Registering... NTFS driver 2.1.30 . JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc. ROMFS MTD (C) 2007 Red Hat, Inc. msgmni has been set to 116 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) S3C NAND Driver, (c) 2007 Samsung Electronics S3C NAND Driver is using hardware ECC. NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit) Creating 3 MTD partitions on "NAND 256MiB 3,3V 8-bit": 0x000000000000-0x000000040000 : "Bootloader" 0x000000040000-0x000000400000 : "Kernel" 0x000000400000-0x000010000000 : "File System" LCD TYPE :: S3C_4.3inch LCD will be initialized S3C_LCD clock got enabled :: 133.500 Mhz Window - FB1 : map_video_memory: clear ffd80000:0003fc00            FB1 : map_video_memory: dma=33980000 cpu=ffd80000 size=0003fc00 Console: switching to colour frame buffer device 60x34 fb-1068365652:  frame buffer device Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled s3c2440-uart.0: ttySAC0 at MMIO 0x50000000 (irq = 70) is a S3C2440 console enabled s3c2440-uart.1: ttySAC1 at MMIO 0x50004000 (irq = 73) is a S3C2440 s3c2440-uart.2: ttySAC2 at MMIO 0x50008000 (irq = 76) is a S3C2440 s3c2440-uart.3: ttySAC3 at MMIO 0x5000c000 (irq = 94) is a S3C2440 lp: driver loaded but no devices found ppdev: user-space parallel port driver helper2416 adc device Driver brd: module loaded loop: module loaded SCSI Media Changer driver v0.25 CAN device driver interface mcp251x spi0.0: probed eth0: LAN9220 (rev 0) at 0x8000000 IRQ 59 eth0: Ethernet addr: 00:40:5c:26:0a:5b PPP generic driver version 2.4.2 PPP BSD Compression module registered PPP Deflate Compression module registered PPP MPPE Compression module registered nwhw_config: generating random addr... nwhw_config: (eth0) setting mac address: 3e:ab:b2:b9:5a:e0 ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver s3c2410-ohci s3c2410-ohci: S3C24XX OHCI s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1 s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000 hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected usbcore: registered new interface driver cdc_acm cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usbcore: registered new interface driver usbserial USB Serial support registered for generic usbcore: registered new interface driver usbserial_generic usbserial: USB Serial Driver core USB Serial support registered for GSM modem (1-port) usbcore: registered new interface driver option option: v0.7.2:USB Driver for GSM modems mousedev: PS/2 mouse device common for all mice samsung-ts s3c2410-ts: driver attached, registering input device input: S3C24XX TouchScreen as /devices/virtual/input/input1 S3C24XX RTC, (c) 2004,2006 Simtec Electronics s3c-rtc s3c2410-rtc: rtc disabled, re-enabling s3c-rtc s3c2410-rtc: rtc core: registered s3c as rtc0 s3c-rtc s3c2410-rtc: warning: invalid RTC value so initializing it i2c /dev entries driver S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman s3c-sdhci s3c-sdhci.0: clock source 0: hsmmc (133500000 Hz) s3c-sdhci s3c-sdhci.0: clock source 1: hsmmc (133500000 Hz) s3c-sdhci s3c-sdhci.0: clock source 2: hsmmc-if (96000000 Hz) mmc0: SDHCI controller on samsung-hsmmc using ADMA s3c-sdhci s3c-sdhci.1: clock source 0: hsmmc (133500000 Hz) s3c-sdhci s3c-sdhci.1: clock source 1: hsmmc (133500000 Hz) s3c-sdhci s3c-sdhci.1: clock source 2: hsmmc-if (96000000 Hz) mmc1: SDHCI controller on samsung-hsmmc using ADMA usbcore: registered new interface driver usbhid usbhid: USB HID core driver asoc: wm8731-hifi - s3c24xx-iis mapping ok ALSA device list:   #0: wm8731 TCP cubic registered NET: Registered protocol family 17 can: controller area network core (rev 20090105 abi 8) NET: Registered protocol family 29 can: raw protocol (rev 20090105) can: broadcast manager protocol (rev 20090105 t) Registering the dns_resolver key type s3c-rtc s3c2410-rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801) yaffs: dev is 32505858 name is "mtdblock2" rw yaffs: passed flags "" s3c-nand: ECC uncorrectable error detected s3c-nand: ECC uncorrectable error detected s3c-nand: ECC uncorrectable error detected mmc1: new high speed SDHC card at address 59b4 mmcblk0: mmc1:59b4 NCard 14.7 GiB mmcblk0: p1 VFS: Mounted root (yaffs2 filesystem) on device 31:2. Freeing init memory: 272K FAT-fs (mmcblk0p1): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive! boa: server version Boa/0.94.13 boa: server built Mar 26 2009 at 15:28:42. boa: starting server pid=74, port 80 smc911x smc911x: eth0: link down Please press Enter to activate this console. # ls bin                linuxrc            root               usr dev                lost+found         sbin               var etc                mnt                sdcard             www g_file_storage.ko  opt                sys home               proc               tmp lib                qtenv              usbdisk # cd /etc # ls boa                inetd.conf         mtab               scsi_id.config eth0-setting       init.d             passwd             sd_card_inserting ftpchroot          issue.net          pointercal         sd_card_removing ftpusers           localtime          profile            services group              login.defs         protocols          usb_inserting host.conf          mdev.conf          rc.d               usb_removing hosts              mime.types         resolv.conf # cd .. # ls bin                linuxrc            root               usr dev                lost+found         sbin               var etc                mnt                sdcard             www g_file_storage.ko  opt                sys home               proc               tmp lib                qtenv              usbdisk # cd /bin # ls addgroup       dmesg          ipaddr         mpstat         scriptreplay adduser        dnsdomainname  ipcalc         mt             sed ash            dumpkmap       iplink         mv             setarch base64         echo           iproute        netstat        setserial bbconfig       ed             iprule         nice           sh busybox        egrep          iptunnel       pidof          sleep cat            false          kill           ping           stat catv           fdflush        linux32        ping6          stty chattr         fgrep          linux64        pipe_progress  su chgrp          fsync          ln             powertop       sync chmod          gdbserver      login          printenv       tar chown          getopt         ls             ps             touch conspy         grep           lsattr         pwd            true cp             gunzip         lzop           qtopia         umount cpio           gzip           makemime       raw_bmp        uname cttyhack       hostname       mkdir          reformime      uncompress date           hotplug        mknod          rev            usleep dd             hush           mktemp         rm             vi delgroup       ionice         more           rmdir          watch deluser        iostat         mount          rpm            zcat df             ip             mountpoint     run-parts # ps PID   USER     TIME   COMMAND     1 root       0:03 init     2 root       0:00     3 root       0:00     4 root       0:00     5 root       0:00     6 root       0:00     7 root       0:00     8 root       0:00     9 root       0:00    10 root       0:00    11 root       0:00    12 root       0:00    13 root       0:00    14 root       0:00    15 root       0:00    16 root       0:00    17 root       0:00    18 root       0:00    22 root       0:01    25 root       0:00    26 root       0:00    27 root       0:00    38 root       0:00    39 root       0:00    42 root       0:00    43 root       0:00    68 root       0:00 syslogd    71 root       0:00 /usr/sbin/inetd    74 root       0:00 /usr/sbin/boa    80 root       0:06 /opt/Qtopia/bin/qpe    81 root       0:00 -/bin/sh    82 root       0:00 init    84 root       0:00 init    85 root       0:00 init   100 root       0:00 /opt/Qtopia/bin/qss   101 root       0:01 /opt/Qtopia/bin/quicklauncher   105 root       0:00   109 root       0:00 ps # dfsdfs -/bin/sh: dfsdfs: not found # echo $SHELL /bin/sh # more /etc/shells more: /etc/shells: No such file or directory 看到系统默认用的是burne shell (sh) ,果断温习了下shell指令!今天到这吧,明天到UBUNTU上体验下!
  • 热度 17
    2014-7-20 16:03
    915 次阅读|
    0 个评论
    放假回家了两天,回来看到桌上有个快递,打开果然是板子到手了,拆开一看,配件齐全,板子做工很好,可能由于快递的原因,屏幕上的膜撕坏了一道,不过不影响使用,上图: 接下来就是下载资料学习了,加油!
  • 热度 13
    2013-9-3 15:28
    743 次阅读|
    1 个评论
        本文主要介绍 Linux 2.6内核在S3C2440平台上移植,此教程适合2.6.38之前的版本,其中2.6.35之前使用同一yaffs补丁包,2.6.36--2.6.28 yaffs文件系统有所改变,2.6.39之后的暂时不支持,源码下载请到:http://www.kernel.org/       1.解压linux-2.6.34.tar.bz2源码包     #tar jxvf  linux-2.6.34.tar.bz2     2.修改linux-2.6.34/Makefile文件,在makefile中找到以下两条信息并做修改     ARCH ? =arm     CROSS_COMPILE?=/usr/local/arm/4.3.2/bin/arm-linux-     注意:     交叉编译器的环境变量也需要改为4.3.2     #export PATH=/usr/local/arm/4.3.2/bin/:$PATH     其中ARCH变量用来决定:配置、编译时读取Linux源码arch目录下哪个体系结构的文件     PATH 用来决定交叉编译器版本     3.修改机器类型ID号     Linux源码中支持多种平台的配置信息,内核会根据bootloader传进来的mach-types决定那份平台的代码起作用,本人手里的板子是仿照三星公司官方给出的demo板改版而来,所以采用arch/arm/mach-s3c2440/mach-smdk2440.c此配置文件,打开此文件,翻到最后,有以下信息:     MACHINE_START(S3C2440, "SMDK2440")     /* Maintainer: Ben Dooks ben@fluff.org */     .phys_io= S3C2410_PA_UART,     .io_pg_offst= (((u32)S3C24XX_VA_UART) 18) 0xfffc,     .boot_params= S3C2410_SDRAM_PA + 0x100,     .init_irq= s3c24xx_init_irq,     .map_io= smdk2440_map_io,     .init_machine= smdk2440_machine_init,     .timer= s3c24xx_timer,     MACHINE_END     MACHINE_START(S3C2440, "SMDK2440")决定了此板子的mach-types,可以在以下文件中找到S3C2440对应的具体数字,"arch/arm/tools/mach-types"文件查找S3C2440,362,这里刚好与我们的bootloader相同,所以不用做修改,直接保存退出即可,如果不同则根据bootloader的内容修改此文件,或根据此文件修改boorloader的内容(在vivi中可通过param show查看,u-boot在Y:\test\u-boot_src\u-boot_edu-2010.06\board\samsung\unsp2440\unsp2440.c文件:gd-bd-bi_arch_number = MACH_TYPE_S3C2440;中决定)。     4.修改平台输入时钟     由于我们使用的开发板跟SMDK2440.c晶振不同,需要修改 修改平台的时钟频率,修改内核源码“arch/arm/mach-s3c2440/mach-smdk2440.c”,把时钟初始化中(S3C24XX_init_clocks(16934400 ))的16934400 改为12000000,因为我们的开发板上为12M。     5.解压yaffs.tar.gz2源码包,进入yaffs2文件夹,给内核打上补丁使内核支持yaffs2     Linux官方不支持yaffs文件系统,我们需要打上相应的补丁     2.6.35(含)之前的补丁从这里下载:     http://www.rayfile.com/zh-cn/files/2dab2568-c59a-11e0-89da-0015c55db73d/     #./patch-ker.sh c /home/linux-2.6.34     2.6.36(含)之后的补丁从这里下载     http://www.rayfile.com/zh-cn/files/680097c0-c59a-11e0-943b-0015c55db73d/     #./patch-ker.sh c a /home/linux-2.6.34     6.修改内核mtd分区和bootloader(vivi)使其一致     使用vivi或U-boot烧写内核、根文件系统时,需要知道内核以及根文件系统的具体物理地址,我们可以修改一下文件更改此信息,注必须保证这里的地址与vivi,u-boot保持一致,否则出现烧写启动不一致的现象。     我的分区是:     bootloader:    192k     param:         128k (vivi和u-boot的参数保存区域,内核里没有表明,但地址空间预留出来了)     kernel:        3M     rootfs:        60M     编辑文件arch/arm/plat-s3c24xx/common-smdk.c     static struct mtd_partitionsmdk_default_nand_part = {     .name      = "bootloader",     .size = 0x00030000,     .offset     = 0,     },     = {     .name      = "kernel",     .offset= 0x00050000,     .size = 0x00300000,     },     = {     .name      = "rootfs",     .offset= 0x00350000,     .size = 0x03cac000,     }     };     7.修改文件drivers/mtd/nand/s3c2410.c     内核中去掉对nand FLASH的ecc校验,由yaffs自己完成     将s3c2410_nand_init_chip函数里的NAND_ECC_SOFT改为NAND_ECC_NONE     8.到llinux-2.6.30目录下执行命令     找一个内核自带的与S3C2440比较接近的配置文件,修改得到我们的配置文件     #cp  arch/arm/configs/s3c2410_defconfig  .config     9.执行make menuconfig,并对选项进行配置     1)SystemType ---     S3C2440 and S3C2442 machines ---     仅保留SMDK2440 与SMDK2440 whith S3C2440CPU module两个选项,将其他的选项全部勾掉     2)Kernel Features ---     Usethe arm EABI to compile the kernel(选中该选项,因为我们采用的编译器是带EABI(软浮点运算)的编译器)     3)Filesystems ---     a、把与ext2 ext3 ext4相关的所有选项全部去掉(为了减小编译完内核的体积、可选)     b、Miscellaneous filesystems ---     *yaffs2file system support(选中此选项)     4)Device Drivers-----     Character devices---     /dev/kmem virtual device support     Legacy(BSD) PTY support     Block devices---     Loopback device support     RAW block device support     5)保存退出     10.编译     make zImage,在arch/arm/boot下生成编译好的可执行程序:zImage  vivi一般采用此类型的内核     make uImage,在arch/arm/boot下生成编译好的可执行程序:UImage  u-boot一般采用此类型的内核       以上文章由凌阳教育 嵌入式培训 讲师徐老师提供,转载请以原始链接注明出处!原文链接: http://emb.sunplusedu.com/answer/2013/0731/2052.html
相关资源