国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 3665|回復: 1
打印 上一主題 下一主題

我的開發板有話說

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2011-9-27 09:55:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
開發板:立宇泰6410(百度,谷歌上搜下有很多介紹,我也是點點鼠標知道的)
  系統:linux2.6.28(也可以支持Android,ubuntu,WINCE6.0(R2/R3操作系統,這點我覺得超贊)
  
   因為研究項目要求需要購置一款開發板做研發,朋友介紹一款Samsung S3C6410處理器,ARM1176JZF-S內核的板子,這點是符合,但其它要素也要考慮的!去網上搜了下,很多網站上都有產品宣傳資料及一些評價!初步看了下,硬件配件資源還不錯,基本符合我們的要求,評價大多數都是正面的,這讓我開始想了解下立宇泰其它產品特性及評價及報價之類的,產品好報價太高這個我們不會優先考慮的,誰不想買個物美價廉的呢!去他們官網看了下,產品介紹都很詳細,軟硬件配置及圖片都挺吸引人的,用戶手冊、升級說明等都有文檔展示,還有一點很重要的是有售后支持,這樣產品購買后有問題也不需要擔心怎么處理了!雖然只是購買一款核心板,就那么一塊小小的板子,但是馬虎不得的,如果沒有購買好,對項目研究及成果都有很大影響,所以我也有壓力啊!對比了下幾家主流的開發板公司,一些公司產品質量是不錯就是價格讓人難以接受,還有一些開發板公司面向的是學生市場,價格是低就是讓人有點不放心。但是一份價格一份貨,如果要作為產品開發,我自然還是要選擇可靠點的。
   最后選擇聯系立宇泰公司,聽了詳細介紹及報價后,拍案決定先購置一款帶3.5寸屏的開發板套餐,套餐組合就不詳細介紹了,發個鏈接,有興趣的可以去看看,當然還有很多其它配置的產品的!http://www.hzlitai.com.cn/plus/view.php?aid=1778 使用之后發現,速度果然很不錯,跟ARM9的S3C2440不可同日而語,當然項目也做的非常成功!
   當然,這中間也會有一些技術問題需要一些支持,不過都很快得到解決。就比如說Linux下內存大小的傳遞,對于一些資深研究人員這當然是簡單的問題,可是對于剛開始學習的我還是需要琢磨下!立宇泰技術支持給我發了個文檔,跟著操作問題很快解決!發一些資料上來分享下,希望能幫助跟我一樣的人!
   Memory: 128MB = 128MB total
  Memory: 70556KB available (3888K code, 493K data, 520K init)
  
  這打印出自于:arch/arm/mm/init.c
  
  void __init mem_init(void)
  
  內存地址:arch/arm/mach-s3c6400/include/mach/memory.h
  
  內存大小:arch/arm/kernel/setup.c中設定。MEM_SIZE (64*1024*1024) 不對。
  
  arm linux中一般在cmdline或傳遞tag參數中設置, 個別板子在machine_desc.fixup函數中設置. 按順序分別說明:
  
  1, 出現順序(內核版本2.6.25.20,下同)
  start_kernel()
   ->setup_arch()
   ->mdesc->fixup()
   ->parse_tags()
   ->parse_tag_mem32()
   ->parse_cmdline()
   ->early_mem()
  
  2, fixup()函數
  這個函數arm平臺用的很少. 我只找到eseries.c, mach-smdk2413.c, mach-vstms.c這幾個arm板子有, smdk2413_fixup()是在bootloader傳遞tag地址與machine_desc預設tag地址(mem_PA+0x100)不同時設置memory的start和size. 如果fixup起作用, 會從tag中把mem tag改為ATAG_NONE, 后面的"parse_tag_mem32"就沒用了.
  
  3, parse_tag_mem32()
  該函數定義在"arch\arm\kernel\setup.c". 把bootloader傳入的mem tag(ATAG_MEM)的start和size參數通過"arm_add_memory()"加入到meminfo的最后一個bank中. start是memory物理起始地址.
  
  4, early_mem()
  該函數定義在"arch\arm\kernel\setup.c". 處理cmdline中的"mem=size@start".
  如果沒有定義mem起始地址, 使用PHYS_OFFSET(arm中應由arm開發板設置)作為start. early_mem()會覆蓋前面設置的meminfo.
  
  呵呵, 你為什么會想到找這個? 我當初是板級移植u-boot到s3c2410時分析的代碼, 當時還不知道sourceinsight, 用grep查找的
  
  "arch\arm\mm\init.c"文件和這個好像沒關系, 里面的"bootmem_init()"會根據這里設置的meminfo計算出high_memory. 系統物理memory會1:1映射到"AGE_OFFSET---high_memory-1".
  ==========================================================
  三種方式:
  1.使用內核源代碼中的定義
  通常ARM嵌入式開發板的系統物理內存僅有一塊,系統物理內存的指定通常通過三個宏:
  PHYS_OFFSET:系統內存的物理起始地址,板級相關,在include/asm-arm/arch-xxx/memory.h中
  PAGE_OFFSET:系統內存的虛擬起始地址,體系結構相關,為0xC0000000,在include/asm-arm/memory.h中
  MEM_SIZE:系統內存大小,如果板級(include/asm-arm/arch-xxx/xxx.h)沒有指定,則使用體系結構的缺省值16M(arch/arm/kernel/setup.c)
  在沒有內存命令從內核命令行(cmdline)傳入的情況下 ,setup_arch()函數 (arch/arm/kernel/setup.c文件中)會使用PHYS_OFFSET和MEM_SIZE指定為系統內存并且映射到PAGE_OFFSET。
  
  2.通過fixup函數設置
  也可通過fixup_xxx()函數(arch/arm/mach-xxx/arch.c)設置內存的起始地址和大小,映射到PAGE_OFFSET,此項設置會覆蓋(1)的設置
  
  3.通過內核命令行傳入
  如果內核命令行中有系統內存相關的命令(mem=XXXM[@YYY])則會覆蓋掉(1),(2)中所介紹的映射而將XXX作為內存大小,YYY作為內存物理起始地址(如果有)映射到PAGE_OFFSET
  
  以上是2.4內核,2.6內核基本差不多
沙發
發表于 2011-10-9 15:24:32 | 只看該作者
感謝樓主分享美文!去他們網站看了下,新出了一款ARMSYSV210-CORE核心板,可以應用于平板電腦等產品上面,很贊啊,你覺得呢?

http://www.hzlitai.com.cn/product/ARM/arm9/ARMSYSV210-CORE.html
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本大片在线| 丰满五十老女人性视频| 边摸边吃奶边做激情叫床视| 国产一卡 二卡三卡四卡无卡乱码视频| 免费国产精品视频| 亚洲精品美女久久777777| 一级高清毛片免费a级高清毛片| 青青青国产在线观看| 无码精品一区二区三区免费视频| 色综合久久久久久888| 中文字幕一区二区精品区| 国产哺乳期奶水avav| 欧美兽交YOYO| 中文字幕天堂久久精品| 十级毛片| 日韩一级一欧美一级国产| 夜夜爽一区二区三区精品| 亚洲乱亚洲乱妇41p| 99午夜视频| 榴莲推广APP网站入口官网| 日本黄色小说视频| 妖精视频一区二区三区| 日韩精品网| 影音先锋国产精品| 亚洲天堂中文字幕| JIZZ学生13| 神马伦理2019影院不卡片| 亚洲免费专区| 欧美性猛交xxxx乱大交极品| 午夜毛片在线观看| 污书屋| 6080yy亚洲久久无码| 老师的丝袜脚| 亚洲天堂视频在线免费观看| 日韩精品中文字幕一区三区| 婷婷亚洲综合一区二区| 99re这里只有精品视频| 日韩欧美成人免费中文字幕| 无遮挡高清一级毛片免费| 日本一区二区三区在线看| 综合色久|