SlideShare ist ein Scribd-Unternehmen logo
1 von 32
“Nghịch”U-boot


      HND
  Tháng 9, 2012
Phần 1

LÝ DO PHẢI NGHỊCH
Build U-boot: vài thắc mắc
• Configure board:
  – #make CROSS_COMPILE=arm-none-eabi-
    da850evm_config.
  – #make CROSS_COMPILE=arm-none-eabi-
• Cái gì thực sự chạy đằng sau các lệnh này?
  – File nào sẽ được khi gọi khi các lệnh trên được
    thực thi?
  – Liệu U-boot lấy từ trên mạng về, có chạy với
    board của mình hay không?
Tại sao “phá” U-boot(1)
• Vai trò quen thuộc:
  – Sử dụng U-boot như là bootloader: boot từ
    flash(nor,nand,MMC), hay boot từ cách kênh giao
    tiếp như: ethernet, uart.
  – Sử dụng U-boot để gọi linux kernel: truyền
    arguments cho kernel.
Tại sao “phá” U-boot(2)
• Vai trò “phá”
  – Dùng U-boot để học nhúng(embedded system).
  – Dùng U-boot để phát triển ứng dụng đơn(stand-
    alone application).
  – Dùng U-boot để thử nghiệm driver: GPIO,uart,spi,
    i2c, ethernet, flashs…
Ai nên “phá” U-boot(1)
• Các “tay mơ”( newbie) chưa biết gì U-boot
  nên “phá”.
• Chưa biết về nhúng.

• Các chuyên gia làm board(hardware expert)
  nên “phá”.
Ai nên “phá” U-boot(2)
• Cho Newbie:
  – Làm quen với cách làm việc của open source: cài
    đặt cross-compiler, Makefile, C source code.
  – Sau đó là làm quen với CPU: starup code, system
    configuration.
  – Làm quen với cách viết code trên C.
Ai nên “phá” U-boot(3)
• Chuyên gia sản xuất development board
  – Tạo u-boot phù hợp với board của mình( chẳng lẽ
    cứ xài u-boot của người khác).
  – Cung cấp nhanh ứng dụng để test hardware.
Phần 2

CHUẨN BỊ “NGHỊCH”
Chuẩn bị môi trường “nghịch”(1)
• Môi trường miễn phí:
  – 1 máy tính “dỏm”, có cài Ubuntu(12.04 or higher).
  – Internet: nhớ có tunnel proxy để vượt tường lửa ->
    truy cập facebook(giải thích sau).
Chuẩn bị môi trường “nghịch”(2)
• Trình biên dịch:
   – Sử dụng Code Sourcery:
      • Có phiên bản miễn phí:
      • Có phiên bản commercial(phòng khi dự án thành công,có tiền
        chuyển từ miễn phí sang).
   – Lưu ý khi download Code Sourcery:
      • Download phiên bản dành cho loại CPU nào(arm,intel,MIPS,…)
      • Môi trường để cài: Linux(Ubuntu), hay Windows.
      • Download the EABI Release: dành cho build U-boot,linux
        kernel( arm-none-eabi-)
      • Download the GNU/Linux Release: dành cho build ứng dụng để
        chạy trên linux(arm-none-linux-gnueabi-gcc- ),chưa cần thiết cho
        build U-boot,kernel linux.
Chuẩn bị môi trường “nghịch”(3)
• Cài đặt cross-compiler:
  – Chạy cài đặt Code Sourcery trên Ubuntu( chọn
    thiết lập mặc định cho chắc). Nếu Ubuntu không
    cho chạy(do thiếu quyền) thì mở Terminal, và thiết
    lập:
     • #chmod +x “file cài đặt code sourcery”
  – Test cross-compiler: mở Terminal, chạy dòng lệnh
    sau:
     • #arm-none-eabi-gcc -v
U-boot source code
• Download phiên bản U-boot mới nhất từ
  đây:http://ftp.denx.de/pub/u-boot/
• Hiện tại( Tháng 9, 2012) phiên bản an toàn
  nhất là: 2012_04 ( tuy nhiên có vấn đề với đọc
  Nand flash của TI).
• Giải nén u-boot:
  – #tar zvf u-boot-2012.04.tar.bz2
Phần 3:

B ẮT ĐẦU “NGHỊCH”
Môi trường phần cứng(1)
• SBC8018.
  – Sử dụng chip AM1808( tương đương L138,nhưng
    không có khối DSP).
  – Các tham số hardware cần lưu ý:
    • DDR: có dung lượng 128MBytes, bắt đầu từ địa chỉ:
      0xc0000000
    • UART:
    • NAND flash:
Giải mã U-boot – Configuration(1)
• Trước khi build u-boot,ta phải config source
  code bằng lệnh:
  – #make CROSS_COMPILE=arm-none-eabi-
    da850evm_config
• Vậy lệnh này ở đâu ra?
• Kiểm tra file board.cfg sẽ có 1 trường dữ liệu:
da850evm arm arm926ejs da8xxevm davinci
  davinci
  da850evm:MAC_ADDR_IN_SPIFLASH
Giải mã U-boot – Configuration(2)
Giá trị          Ý Nghĩa
Target           da850evm: tên của board. Do đó khi
                 config board ta phải chạy lệnh: #make
                 CROSS_COMPILE=arm-none-eabi-
                 da850evm_config
ARCH             arm
CPU              arm926ejs
Board name       da8xxevm
Vendor           davinci
Soc              davinci
Options          da850evm:MAC_ADDR_IN_SPIFLASH
Giải mã U-boot - CPU
• Từ bảng cấu hình, ta sẽ biết ngay đoạn mã
  quan trọng nhất: startup code cho CPU của
  board sẽ nằm ở:
  – /arch/arch’value/cpu/cpu’s value/soc :
    arch/arm/cpu/arm926ejs/davinci
Giải mã U-boot – Board
• Code dành để cấu hình board(sau khi start up) sẽ nằm
  ở:
   – /board/vendor/board name: /board/davinci/da8xxevm
• Vấn đề xuất hiện: trong thư mục
  /board/davinci/da8xxevm có rất nhiều file .c cho từng
  loại board khác( da830 …) vậy căn cứ vào đâu để biên
  dịch đúng file da850evm.c: kiểm tra Makefile ta thấy:
   – COBJS-$(CONFIG_MACH_DAVINCI_DA850_EVM)
      += da850evm.o
   – Điều đó chứng tỏ
     CONFIG_MACH_DAVINCI_DA850_EVM đã được
     “define” đâu đó.
Giải mã U-boot – “Đầu bự”
• U-boot giấu file config cho từng board ở nơi
  khá bí hiểm:
  – includeconfigs
• Toàn bộ các file định nghĩa cho các board phải
  nằm ở đây dưới cái tên: “board_name”.h .
  Trong trường hợp cụ thể ở đây là: da850evm.h
• Mở ra đúng phóc là có
  – #define
    CONFIG_MACH_DAVINCI_DA850_EVM
Giải mã U-boot – Xong
• Tới đây về cơ bản ta đã biết đường đi lối lại của U-boot
  khi nó configure, và biên dịch cho một board mới.
• Để cho rõ, ta nên làm một bài tập nhỏ sau: tạo “code
  base” trên u-boot hỗ trợ custom defined board như sau:
  CPU: am1808, board name: bullet, thiết kế giống như
  da850evm. Yêu cầu: các lệnh sau biên dịch thành công:
   – #make CROSS_COMPILE=arm-none-eabi-
     bullet_config
   – #make CROSS_COMPILE=arm-none-eabi-
• Có thể làm cho atmel, samsung hay freescale arm9
  đang có trên thị trường tùy ý.
Giải mã U-boot – Chữ nhiều quá
   thêm cái hình cho dễ hiểu
Giải mã U-boot: Đã thật sự xong chưa?
• Đã thật sự xong chưa? Liệu biên dịch thành
  công thì nạp xuống board có ra gì không?
• Sự cần thiết của driver.
• Các driver cần lưu ý:
  – UART.
  – Ethernet.
  – NAND flash.
Giải mã U-boot: Driver
• Điều chắc chắn: nếu board của bạn “mông má”
  từ 1 board đã chạy rồi(lưu ý phần UART phải
  giống nhé), quá trình tạo code giống như đã
  trình bày ở trên, thì console chắc cú là xuất ra
  dòng: #u-boot>
• Vậy phải làm gì tiếp theo? Driver tiếp là cái
  chắc vì:
  – Ngoại vi chắc chắn là khác với board gốc.
  – Chân cẳng cũng khác.
Giải mã U-boot: Thực thi U-boot
• U-boot được chạy như thế nào?
  – Tất cả CPU sẽ có phần bootstrap, đoạn code nhỏ này
    khởi tạo PLL, SRAM, SDRAM… Bootstrap này có
    sẵn hay có thể nạp vào SRAM của CPU bằng JTAG.
  – Nếu boot từ flash(nor, nand, spi), bootstrap sẽ truy
    cập( driver đọc flash tích hợp sẵn trong bootstrap) và
    đọc file(trong trường hợp này là u-boot) và để lên
    SDRAM.
  – Sau đó nhảy đến SDRAM tại địa chỉ vừa load để thực
    thi file.
  – Vì bootstrap chạy trên SRAM, nên nó khá nhỏ nên
    thường không có serial, ethernet …
Giải mã U-boot: Driver
• Vị trí source driver thường dùng:
  – /driver/serial: dành cho serial
  – /driver/mtd: memory technology device, nor nand
    và các loại flash vào đây.
  – /driver/gpio
  – /driver/net: lưu ý là các driver cho PHY device
    thường lại được đặt khá lung tung
     • /driver/net/phy.
     • Đôi khi nằm cùng vị trí với CPU,hoặc board( đề cập
       slide 17/18).
Giải mã U-boot: Driver UART
• Nhớ lại file “đầu bự” da850evm.h ở slide 19
  – CONFIG_SYS_NS16550
  – CONFIG_SYS_NS16550_SERIAL
• Tham chiếu vào Makefile ở /drivers/serial ta sẽ
  biết những file nào sẽ biên dịch để sử dụng là
  driver cho board.
Giải mã U-boot: Driver ethernet(1)
• U-boot chia ethernet làm 2 phần:
  – /net : có thể nói đây là lớp TCP/IP , phần này chắc
    chắn đúng, và ít khi cần port lại.
  – /drivers/net và /drivers/net/phy: tương ứng cho lớp
    MAC và PHY, cần port mỗi khi làm cho board
    mới.
  – Đầu mối kết hợp giữa 2 phần trên được thực hiện
    trong phần khởi tạo board, với sbc8018 thì trong
    hàm davinci_emac_initialize gọi bởi cpu_eth_init
Giải mã U-boot: Driver ethernet(2)
• Việc cần làm khi port:
   – Driver cho MAC quan trọng hơn PHY ( PHY gần như
     không cần, chỉ cần theo đúng generic PHY).
   – Nếu liên kết giữa MAC và PHY theo truyền thống( MII
     hay RMII).
      • MAC phát hiện,điều khiển PHY sử dụng MDC.
      • Dữ liệu trao đổi giữa MAC và PHY qua các đường IO độc lập với
        MDC -> MAC có thể không phát hiện PHY nhưng vẫn giao tiếp dữ
        liệu được.
   – Các loại khác: usb, com … : chưa biết.
   – Với sbc8018: căn cứ và Makefile trong /drivers/net để biết
     driver MAC nào được sử dụng:
      • COBJS-$(CONFIG_DRIVER_TI_EMAC) += davinci_emac.o
Giải mã U-boot: Driver NAND
               flash(1)
• Define: CONFIG_USE_NAND nếu sử dụng
  NAND.
• Makefile trong /drivers/mtd/nand cho ta biết file
  driver của NAND:
   – COBJS-$(CONFIG_NAND_DAVINCI) +=
     davinci_nand.o
• Cung cấp các tham số để driver cấu hình:
   – #define CONFIG_SYS_NAND_BASE
      DAVINCI_ASYNC_EMIF_DATA_CE3_BASE
   – #define CONFIG_SYS_NAND_PAGE_2K
   – #define CONFIG_SYS_NAND_CS        3
Giải mã U-boot: Driver NAND
               flash(2)
• Flash rất quan trọng:
  – Nơi chứa biến môi trường.
  – Nới chứa bản thân u-boot, đồng thời là các app được
    gọi bởi u-boot( user app hay linux kernel , rootfs).
• Cấu hình environment:
  – CONFIG_ENV_IS_IN_NAND : biến môi trường
    trong nand flash.
  – CONFIG_ENV_OFFSET: có thể ở đầu flash(block 0
    hay ở đoạn cuối flash).
  – CONFIG_ENV_SIZE: kích cỡ.
Giải mã U-boot: Hết
• Các điểm lưu ý:
  – Khai báo Board : boards.cfg
  – Board config: /include/configs/”boardname.h”
  – CPU/Board initialize: /arch/arch’value/cpu/cpu’s
    và /board/vendor/”boardname”
  – Makefile ở trong các thư mục driver.
     • /drivers/serial
     • /drivers/mtd/nand, /drivers/mtd/nor
     • /drivers/net, /drivers/net/phy

Weitere ähnliche Inhalte

Was ist angesagt?

Bai Thuc hanh DNS
Bai Thuc hanh DNSBai Thuc hanh DNS
Bai Thuc hanh DNSnp_thanh
 
Building a basic computer
Building a basic computerBuilding a basic computer
Building a basic computerRobert Sand
 
Web Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting StartedWeb Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting StartedPort80 Software
 
Ortopedie traumatologie-nursing
Ortopedie traumatologie-nursingOrtopedie traumatologie-nursing
Ortopedie traumatologie-nursingIonescu Octavian
 
Computer Troubleshooting - T.L.E.
Computer Troubleshooting - T.L.E.Computer Troubleshooting - T.L.E.
Computer Troubleshooting - T.L.E.BooNeil
 
Computer system soft ware
Computer system soft wareComputer system soft ware
Computer system soft wareSamuel Igbanogu
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoCMacpaul Lin
 
Chương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPT
Chương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPTChương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPT
Chương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPTMasterCode.vn
 
Fundamentalsofcomputer
FundamentalsofcomputerFundamentalsofcomputer
FundamentalsofcomputerRam Pukar
 
Hardware management systems
Hardware management systemsHardware management systems
Hardware management systemsIUBAT
 
BIOS basic input output system
BIOS basic input output systemBIOS basic input output system
BIOS basic input output systemVipul Buchade
 
cybersecurity training.pptx
cybersecurity training.pptxcybersecurity training.pptx
cybersecurity training.pptxproperwellVN
 
tìm hiểu các lỗ hổng bảo mật
tìm hiểu các lỗ hổng bảo mậttìm hiểu các lỗ hổng bảo mật
tìm hiểu các lỗ hổng bảo mậtanhkhoa2222
 

Was ist angesagt? (20)

Bai Thuc hanh DNS
Bai Thuc hanh DNSBai Thuc hanh DNS
Bai Thuc hanh DNS
 
Building a basic computer
Building a basic computerBuilding a basic computer
Building a basic computer
 
Web Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting StartedWeb Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting Started
 
Que es bit locker
Que es bit lockerQue es bit locker
Que es bit locker
 
Ứng dụng webgis trong hệ thống giám sát bệnh truyền nhiễm, 9đ
Ứng dụng webgis trong hệ thống giám sát bệnh truyền nhiễm, 9đỨng dụng webgis trong hệ thống giám sát bệnh truyền nhiễm, 9đ
Ứng dụng webgis trong hệ thống giám sát bệnh truyền nhiễm, 9đ
 
Ortopedie traumatologie-nursing
Ortopedie traumatologie-nursingOrtopedie traumatologie-nursing
Ortopedie traumatologie-nursing
 
Computer Troubleshooting - T.L.E.
Computer Troubleshooting - T.L.E.Computer Troubleshooting - T.L.E.
Computer Troubleshooting - T.L.E.
 
Computer system soft ware
Computer system soft wareComputer system soft ware
Computer system soft ware
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
 
Projet bt1 informatique
Projet bt1 informatiqueProjet bt1 informatique
Projet bt1 informatique
 
Chương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPT
Chương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPTChương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPT
Chương 1 Khái niệm và ứng dụng của mạng máy tính - Giáo trình FPT
 
Fundamentalsofcomputer
FundamentalsofcomputerFundamentalsofcomputer
Fundamentalsofcomputer
 
Hardware management systems
Hardware management systemsHardware management systems
Hardware management systems
 
BIOS basic input output system
BIOS basic input output systemBIOS basic input output system
BIOS basic input output system
 
Gonartroza
GonartrozaGonartroza
Gonartroza
 
Usb
UsbUsb
Usb
 
Bootloaders
BootloadersBootloaders
Bootloaders
 
cybersecurity training.pptx
cybersecurity training.pptxcybersecurity training.pptx
cybersecurity training.pptx
 
Datensicherung
DatensicherungDatensicherung
Datensicherung
 
tìm hiểu các lỗ hổng bảo mật
tìm hiểu các lỗ hổng bảo mậttìm hiểu các lỗ hổng bảo mật
tìm hiểu các lỗ hổng bảo mật
 

Ähnlich wie U boot

tài liệu Mã nguồn mở 02 sudung
tài liệu Mã nguồn mở  02 sudungtài liệu Mã nguồn mở  02 sudung
tài liệu Mã nguồn mở 02 sudungThuyet Nguyen
 
Báo cáo chuyên đề công nghệ mới
Báo cáo chuyên đề công nghệ mớiBáo cáo chuyên đề công nghệ mới
Báo cáo chuyên đề công nghệ mớiPhạm Ái
 
Chương 2 căn bản cisco ios
Chương 2 căn bản cisco iosChương 2 căn bản cisco ios
Chương 2 căn bản cisco iosnguyenhoangbao
 
Mô phỏng vi điều khiển
Mô phỏng vi điều khiểnMô phỏng vi điều khiển
Mô phỏng vi điều khiểnNguyễn Trung
 
L C D Demo Cho Microblaze
L C D Demo Cho MicroblazeL C D Demo Cho Microblaze
L C D Demo Cho Microblazeiuui
 
Linux07 khoidong&dongtat
Linux07 khoidong&dongtatLinux07 khoidong&dongtat
Linux07 khoidong&dongtatanhbinhminhpro
 
Bao cao thuc tap tuan2
Bao cao thuc tap tuan2Bao cao thuc tap tuan2
Bao cao thuc tap tuan2duytruyen1993
 
Cài đặt quản trị hệ điều hành Ubuntu 12.0
Cài đặt quản trị  hệ điều hành Ubuntu 12.0Cài đặt quản trị  hệ điều hành Ubuntu 12.0
Cài đặt quản trị hệ điều hành Ubuntu 12.0Cường Nguyễn Tam
 
Tai lieu quan tri he thong erp oracle
Tai lieu quan tri he thong erp oracleTai lieu quan tri he thong erp oracle
Tai lieu quan tri he thong erp oracleKiet Tran
 
Báo cáo thực tập tuần 1
Báo cáo thực tập tuần 1Báo cáo thực tập tuần 1
Báo cáo thực tập tuần 1tran thai
 
Thực hành cơ sở mạng truyền thông
Thực hành cơ sở mạng truyền thôngThực hành cơ sở mạng truyền thông
Thực hành cơ sở mạng truyền thôngAi Tôi
 
Lesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line EnvironmentLesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line EnvironmentThang Man
 
Cau hinh router coban
Cau hinh router coban Cau hinh router coban
Cau hinh router coban Hate To Love
 
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)laonap166
 
Bai1laprapcaidat ttth
Bai1laprapcaidat ttthBai1laprapcaidat ttth
Bai1laprapcaidat ttthut1101833
 
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intelCài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intellaonap166
 
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intelCài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intellaonap166
 
Cấu hình Router cơ bản(Cisco)
Cấu hình Router cơ bản(Cisco)Cấu hình Router cơ bản(Cisco)
Cấu hình Router cơ bản(Cisco)NamPhmHoi1
 
Spartan 3e-vietnamese
Spartan 3e-vietnameseSpartan 3e-vietnamese
Spartan 3e-vietnamesebuianhminh
 
07 booting and shutting down
07  booting and shutting down07  booting and shutting down
07 booting and shutting downCơn Gió
 

Ähnlich wie U boot (20)

tài liệu Mã nguồn mở 02 sudung
tài liệu Mã nguồn mở  02 sudungtài liệu Mã nguồn mở  02 sudung
tài liệu Mã nguồn mở 02 sudung
 
Báo cáo chuyên đề công nghệ mới
Báo cáo chuyên đề công nghệ mớiBáo cáo chuyên đề công nghệ mới
Báo cáo chuyên đề công nghệ mới
 
Chương 2 căn bản cisco ios
Chương 2 căn bản cisco iosChương 2 căn bản cisco ios
Chương 2 căn bản cisco ios
 
Mô phỏng vi điều khiển
Mô phỏng vi điều khiểnMô phỏng vi điều khiển
Mô phỏng vi điều khiển
 
L C D Demo Cho Microblaze
L C D Demo Cho MicroblazeL C D Demo Cho Microblaze
L C D Demo Cho Microblaze
 
Linux07 khoidong&dongtat
Linux07 khoidong&dongtatLinux07 khoidong&dongtat
Linux07 khoidong&dongtat
 
Bao cao thuc tap tuan2
Bao cao thuc tap tuan2Bao cao thuc tap tuan2
Bao cao thuc tap tuan2
 
Cài đặt quản trị hệ điều hành Ubuntu 12.0
Cài đặt quản trị  hệ điều hành Ubuntu 12.0Cài đặt quản trị  hệ điều hành Ubuntu 12.0
Cài đặt quản trị hệ điều hành Ubuntu 12.0
 
Tai lieu quan tri he thong erp oracle
Tai lieu quan tri he thong erp oracleTai lieu quan tri he thong erp oracle
Tai lieu quan tri he thong erp oracle
 
Báo cáo thực tập tuần 1
Báo cáo thực tập tuần 1Báo cáo thực tập tuần 1
Báo cáo thực tập tuần 1
 
Thực hành cơ sở mạng truyền thông
Thực hành cơ sở mạng truyền thôngThực hành cơ sở mạng truyền thông
Thực hành cơ sở mạng truyền thông
 
Lesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line EnvironmentLesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line Environment
 
Cau hinh router coban
Cau hinh router coban Cau hinh router coban
Cau hinh router coban
 
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
 
Bai1laprapcaidat ttth
Bai1laprapcaidat ttthBai1laprapcaidat ttth
Bai1laprapcaidat ttth
 
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intelCài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intel
 
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intelCài đặt ubuntu server cho main supermicro x9 scl trên raid intel
Cài đặt ubuntu server cho main supermicro x9 scl trên raid intel
 
Cấu hình Router cơ bản(Cisco)
Cấu hình Router cơ bản(Cisco)Cấu hình Router cơ bản(Cisco)
Cấu hình Router cơ bản(Cisco)
 
Spartan 3e-vietnamese
Spartan 3e-vietnameseSpartan 3e-vietnamese
Spartan 3e-vietnamese
 
07 booting and shutting down
07  booting and shutting down07  booting and shutting down
07 booting and shutting down
 

Kürzlich hochgeladen

TƯ TƯỞNG HỒ CHÍ MINH VỀ NHÀ NƯỚC CỦA NHÂN DÂN, DO NHÂN DÂN, VÌ NHÂN DÂN VÀ VẬ...
TƯ TƯỞNG HỒ CHÍ MINH VỀ NHÀ NƯỚC CỦA NHÂN DÂN, DO NHÂN DÂN, VÌ NHÂN DÂN VÀ VẬ...TƯ TƯỞNG HỒ CHÍ MINH VỀ NHÀ NƯỚC CỦA NHÂN DÂN, DO NHÂN DÂN, VÌ NHÂN DÂN VÀ VẬ...
TƯ TƯỞNG HỒ CHÍ MINH VỀ NHÀ NƯỚC CỦA NHÂN DÂN, DO NHÂN DÂN, VÌ NHÂN DÂN VÀ VẬ...cogiahuy36
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...Nguyen Thanh Tu Collection
 
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docxTổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docxTrangL188166
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...Nguyen Thanh Tu Collection
 
đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21nguyenthao2003bd
 
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem Số Mệnh
 
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdfGIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdfHngNguyn271079
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...Nguyen Thanh Tu Collection
 
.................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam........................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam.......thoa051989
 
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ haoBookoTime
 
chủ nghĩa xã hội khoa học về đề tài cuối kì
chủ nghĩa xã hội khoa học về đề tài cuối kìchủ nghĩa xã hội khoa học về đề tài cuối kì
chủ nghĩa xã hội khoa học về đề tài cuối kìanlqd1402
 
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...Nguyen Thanh Tu Collection
 
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...Xem Số Mệnh
 
Giáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hayGiáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hayLcTh15
 
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docxNỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx7E26NguynThThyLinh
 
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdfGieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdfXem Số Mệnh
 

Kürzlich hochgeladen (20)

TƯ TƯỞNG HỒ CHÍ MINH VỀ NHÀ NƯỚC CỦA NHÂN DÂN, DO NHÂN DÂN, VÌ NHÂN DÂN VÀ VẬ...
TƯ TƯỞNG HỒ CHÍ MINH VỀ NHÀ NƯỚC CỦA NHÂN DÂN, DO NHÂN DÂN, VÌ NHÂN DÂN VÀ VẬ...TƯ TƯỞNG HỒ CHÍ MINH VỀ NHÀ NƯỚC CỦA NHÂN DÂN, DO NHÂN DÂN, VÌ NHÂN DÂN VÀ VẬ...
TƯ TƯỞNG HỒ CHÍ MINH VỀ NHÀ NƯỚC CỦA NHÂN DÂN, DO NHÂN DÂN, VÌ NHÂN DÂN VÀ VẬ...
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
 
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docxTổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
 
đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21
 
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
 
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdfGIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
 
.................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam........................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam.......
 
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
 
chủ nghĩa xã hội khoa học về đề tài cuối kì
chủ nghĩa xã hội khoa học về đề tài cuối kìchủ nghĩa xã hội khoa học về đề tài cuối kì
chủ nghĩa xã hội khoa học về đề tài cuối kì
 
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
 
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
 
Giáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hayGiáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hay
 
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docxNỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
 
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdfGieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
 

U boot

  • 1. “Nghịch”U-boot HND Tháng 9, 2012
  • 2. Phần 1 LÝ DO PHẢI NGHỊCH
  • 3. Build U-boot: vài thắc mắc • Configure board: – #make CROSS_COMPILE=arm-none-eabi- da850evm_config. – #make CROSS_COMPILE=arm-none-eabi- • Cái gì thực sự chạy đằng sau các lệnh này? – File nào sẽ được khi gọi khi các lệnh trên được thực thi? – Liệu U-boot lấy từ trên mạng về, có chạy với board của mình hay không?
  • 4. Tại sao “phá” U-boot(1) • Vai trò quen thuộc: – Sử dụng U-boot như là bootloader: boot từ flash(nor,nand,MMC), hay boot từ cách kênh giao tiếp như: ethernet, uart. – Sử dụng U-boot để gọi linux kernel: truyền arguments cho kernel.
  • 5. Tại sao “phá” U-boot(2) • Vai trò “phá” – Dùng U-boot để học nhúng(embedded system). – Dùng U-boot để phát triển ứng dụng đơn(stand- alone application). – Dùng U-boot để thử nghiệm driver: GPIO,uart,spi, i2c, ethernet, flashs…
  • 6. Ai nên “phá” U-boot(1) • Các “tay mơ”( newbie) chưa biết gì U-boot nên “phá”. • Chưa biết về nhúng. • Các chuyên gia làm board(hardware expert) nên “phá”.
  • 7. Ai nên “phá” U-boot(2) • Cho Newbie: – Làm quen với cách làm việc của open source: cài đặt cross-compiler, Makefile, C source code. – Sau đó là làm quen với CPU: starup code, system configuration. – Làm quen với cách viết code trên C.
  • 8. Ai nên “phá” U-boot(3) • Chuyên gia sản xuất development board – Tạo u-boot phù hợp với board của mình( chẳng lẽ cứ xài u-boot của người khác). – Cung cấp nhanh ứng dụng để test hardware.
  • 9. Phần 2 CHUẨN BỊ “NGHỊCH”
  • 10. Chuẩn bị môi trường “nghịch”(1) • Môi trường miễn phí: – 1 máy tính “dỏm”, có cài Ubuntu(12.04 or higher). – Internet: nhớ có tunnel proxy để vượt tường lửa -> truy cập facebook(giải thích sau).
  • 11. Chuẩn bị môi trường “nghịch”(2) • Trình biên dịch: – Sử dụng Code Sourcery: • Có phiên bản miễn phí: • Có phiên bản commercial(phòng khi dự án thành công,có tiền chuyển từ miễn phí sang). – Lưu ý khi download Code Sourcery: • Download phiên bản dành cho loại CPU nào(arm,intel,MIPS,…) • Môi trường để cài: Linux(Ubuntu), hay Windows. • Download the EABI Release: dành cho build U-boot,linux kernel( arm-none-eabi-) • Download the GNU/Linux Release: dành cho build ứng dụng để chạy trên linux(arm-none-linux-gnueabi-gcc- ),chưa cần thiết cho build U-boot,kernel linux.
  • 12. Chuẩn bị môi trường “nghịch”(3) • Cài đặt cross-compiler: – Chạy cài đặt Code Sourcery trên Ubuntu( chọn thiết lập mặc định cho chắc). Nếu Ubuntu không cho chạy(do thiếu quyền) thì mở Terminal, và thiết lập: • #chmod +x “file cài đặt code sourcery” – Test cross-compiler: mở Terminal, chạy dòng lệnh sau: • #arm-none-eabi-gcc -v
  • 13. U-boot source code • Download phiên bản U-boot mới nhất từ đây:http://ftp.denx.de/pub/u-boot/ • Hiện tại( Tháng 9, 2012) phiên bản an toàn nhất là: 2012_04 ( tuy nhiên có vấn đề với đọc Nand flash của TI). • Giải nén u-boot: – #tar zvf u-boot-2012.04.tar.bz2
  • 14. Phần 3: B ẮT ĐẦU “NGHỊCH”
  • 15. Môi trường phần cứng(1) • SBC8018. – Sử dụng chip AM1808( tương đương L138,nhưng không có khối DSP). – Các tham số hardware cần lưu ý: • DDR: có dung lượng 128MBytes, bắt đầu từ địa chỉ: 0xc0000000 • UART: • NAND flash:
  • 16. Giải mã U-boot – Configuration(1) • Trước khi build u-boot,ta phải config source code bằng lệnh: – #make CROSS_COMPILE=arm-none-eabi- da850evm_config • Vậy lệnh này ở đâu ra? • Kiểm tra file board.cfg sẽ có 1 trường dữ liệu: da850evm arm arm926ejs da8xxevm davinci davinci da850evm:MAC_ADDR_IN_SPIFLASH
  • 17. Giải mã U-boot – Configuration(2) Giá trị Ý Nghĩa Target da850evm: tên của board. Do đó khi config board ta phải chạy lệnh: #make CROSS_COMPILE=arm-none-eabi- da850evm_config ARCH arm CPU arm926ejs Board name da8xxevm Vendor davinci Soc davinci Options da850evm:MAC_ADDR_IN_SPIFLASH
  • 18. Giải mã U-boot - CPU • Từ bảng cấu hình, ta sẽ biết ngay đoạn mã quan trọng nhất: startup code cho CPU của board sẽ nằm ở: – /arch/arch’value/cpu/cpu’s value/soc : arch/arm/cpu/arm926ejs/davinci
  • 19. Giải mã U-boot – Board • Code dành để cấu hình board(sau khi start up) sẽ nằm ở: – /board/vendor/board name: /board/davinci/da8xxevm • Vấn đề xuất hiện: trong thư mục /board/davinci/da8xxevm có rất nhiều file .c cho từng loại board khác( da830 …) vậy căn cứ vào đâu để biên dịch đúng file da850evm.c: kiểm tra Makefile ta thấy: – COBJS-$(CONFIG_MACH_DAVINCI_DA850_EVM) += da850evm.o – Điều đó chứng tỏ CONFIG_MACH_DAVINCI_DA850_EVM đã được “define” đâu đó.
  • 20. Giải mã U-boot – “Đầu bự” • U-boot giấu file config cho từng board ở nơi khá bí hiểm: – includeconfigs • Toàn bộ các file định nghĩa cho các board phải nằm ở đây dưới cái tên: “board_name”.h . Trong trường hợp cụ thể ở đây là: da850evm.h • Mở ra đúng phóc là có – #define CONFIG_MACH_DAVINCI_DA850_EVM
  • 21. Giải mã U-boot – Xong • Tới đây về cơ bản ta đã biết đường đi lối lại của U-boot khi nó configure, và biên dịch cho một board mới. • Để cho rõ, ta nên làm một bài tập nhỏ sau: tạo “code base” trên u-boot hỗ trợ custom defined board như sau: CPU: am1808, board name: bullet, thiết kế giống như da850evm. Yêu cầu: các lệnh sau biên dịch thành công: – #make CROSS_COMPILE=arm-none-eabi- bullet_config – #make CROSS_COMPILE=arm-none-eabi- • Có thể làm cho atmel, samsung hay freescale arm9 đang có trên thị trường tùy ý.
  • 22. Giải mã U-boot – Chữ nhiều quá thêm cái hình cho dễ hiểu
  • 23. Giải mã U-boot: Đã thật sự xong chưa? • Đã thật sự xong chưa? Liệu biên dịch thành công thì nạp xuống board có ra gì không? • Sự cần thiết của driver. • Các driver cần lưu ý: – UART. – Ethernet. – NAND flash.
  • 24. Giải mã U-boot: Driver • Điều chắc chắn: nếu board của bạn “mông má” từ 1 board đã chạy rồi(lưu ý phần UART phải giống nhé), quá trình tạo code giống như đã trình bày ở trên, thì console chắc cú là xuất ra dòng: #u-boot> • Vậy phải làm gì tiếp theo? Driver tiếp là cái chắc vì: – Ngoại vi chắc chắn là khác với board gốc. – Chân cẳng cũng khác.
  • 25. Giải mã U-boot: Thực thi U-boot • U-boot được chạy như thế nào? – Tất cả CPU sẽ có phần bootstrap, đoạn code nhỏ này khởi tạo PLL, SRAM, SDRAM… Bootstrap này có sẵn hay có thể nạp vào SRAM của CPU bằng JTAG. – Nếu boot từ flash(nor, nand, spi), bootstrap sẽ truy cập( driver đọc flash tích hợp sẵn trong bootstrap) và đọc file(trong trường hợp này là u-boot) và để lên SDRAM. – Sau đó nhảy đến SDRAM tại địa chỉ vừa load để thực thi file. – Vì bootstrap chạy trên SRAM, nên nó khá nhỏ nên thường không có serial, ethernet …
  • 26. Giải mã U-boot: Driver • Vị trí source driver thường dùng: – /driver/serial: dành cho serial – /driver/mtd: memory technology device, nor nand và các loại flash vào đây. – /driver/gpio – /driver/net: lưu ý là các driver cho PHY device thường lại được đặt khá lung tung • /driver/net/phy. • Đôi khi nằm cùng vị trí với CPU,hoặc board( đề cập slide 17/18).
  • 27. Giải mã U-boot: Driver UART • Nhớ lại file “đầu bự” da850evm.h ở slide 19 – CONFIG_SYS_NS16550 – CONFIG_SYS_NS16550_SERIAL • Tham chiếu vào Makefile ở /drivers/serial ta sẽ biết những file nào sẽ biên dịch để sử dụng là driver cho board.
  • 28. Giải mã U-boot: Driver ethernet(1) • U-boot chia ethernet làm 2 phần: – /net : có thể nói đây là lớp TCP/IP , phần này chắc chắn đúng, và ít khi cần port lại. – /drivers/net và /drivers/net/phy: tương ứng cho lớp MAC và PHY, cần port mỗi khi làm cho board mới. – Đầu mối kết hợp giữa 2 phần trên được thực hiện trong phần khởi tạo board, với sbc8018 thì trong hàm davinci_emac_initialize gọi bởi cpu_eth_init
  • 29. Giải mã U-boot: Driver ethernet(2) • Việc cần làm khi port: – Driver cho MAC quan trọng hơn PHY ( PHY gần như không cần, chỉ cần theo đúng generic PHY). – Nếu liên kết giữa MAC và PHY theo truyền thống( MII hay RMII). • MAC phát hiện,điều khiển PHY sử dụng MDC. • Dữ liệu trao đổi giữa MAC và PHY qua các đường IO độc lập với MDC -> MAC có thể không phát hiện PHY nhưng vẫn giao tiếp dữ liệu được. – Các loại khác: usb, com … : chưa biết. – Với sbc8018: căn cứ và Makefile trong /drivers/net để biết driver MAC nào được sử dụng: • COBJS-$(CONFIG_DRIVER_TI_EMAC) += davinci_emac.o
  • 30. Giải mã U-boot: Driver NAND flash(1) • Define: CONFIG_USE_NAND nếu sử dụng NAND. • Makefile trong /drivers/mtd/nand cho ta biết file driver của NAND: – COBJS-$(CONFIG_NAND_DAVINCI) += davinci_nand.o • Cung cấp các tham số để driver cấu hình: – #define CONFIG_SYS_NAND_BASE DAVINCI_ASYNC_EMIF_DATA_CE3_BASE – #define CONFIG_SYS_NAND_PAGE_2K – #define CONFIG_SYS_NAND_CS 3
  • 31. Giải mã U-boot: Driver NAND flash(2) • Flash rất quan trọng: – Nơi chứa biến môi trường. – Nới chứa bản thân u-boot, đồng thời là các app được gọi bởi u-boot( user app hay linux kernel , rootfs). • Cấu hình environment: – CONFIG_ENV_IS_IN_NAND : biến môi trường trong nand flash. – CONFIG_ENV_OFFSET: có thể ở đầu flash(block 0 hay ở đoạn cuối flash). – CONFIG_ENV_SIZE: kích cỡ.
  • 32. Giải mã U-boot: Hết • Các điểm lưu ý: – Khai báo Board : boards.cfg – Board config: /include/configs/”boardname.h” – CPU/Board initialize: /arch/arch’value/cpu/cpu’s và /board/vendor/”boardname” – Makefile ở trong các thư mục driver. • /drivers/serial • /drivers/mtd/nand, /drivers/mtd/nor • /drivers/net, /drivers/net/phy