2013年10月15日 星期二

2013.10.15上課內容


  • [keyword] sdn(software-defined-networking) 
         http://en.wikipedia.org/wiki/Software-defined_networking
  • [keyword] Linux CNC
  • arm-none-eabi-ld -Ttext 0x0 -o example1.out example1.o 
         -T 代表可以指定script 檔 ,這裡表示從0x0開始

  • TCP/IP  採用 Big-Endian  (MSB is at lower address)
        ARM本身大多採用 Little-Endian (LSB is at lower address)
       
        [review] Big-Endian :  高位元放前面   ex. 0x12345678  --> 12 34 56 78 存放
                       Little-Endian : 低位元放前面 ex. 0x12345678 -->    78 56 34 12存放          

                      ps. 所謂的前面就是指記憶體較低的位址.

比較的結果就是這樣:
   big-endian      little-endian
0x0000   0x12                    0x78
0x0001   0x34      0x56
0x0002   0x56      0x34
0x0003   0x78      0x12

          以目前常見的CPU為例:
  1. INTEL X86、DEC VAX 使用 LITTLE-ENDIAN 設計;
  2. HP、IBM、MOTOROLA 68K 系列使用 BIG-ENDIAN 設計;
  3. POWERPC 同時支援兩種格式,稱為 BI-ENDIAN。

           Refer to: http://www.prudentman.idv.tw/2007/11/big-endianlittle-endian.html 


  • arm-none-eabi-objdump -xd  xxxx.o 
 --> 反組譯

  • 現在的compiler --> ssa 最佳化 
  • gcc 指令參數
             -O0:     關閉最佳化
                   -C:     只生成object code  --> generator xxx.o
    • -ld (arm-none-eabi-ld -Ttext 0x0 -Tbss 0x20000000 -o example1.out example1.o):
          -T      指定scriptfile
          0x0  指令開始的address


    • 白算盤第八章 非常重要!! 




    沒有留言:

    張貼留言