Month: July 2016

  • 2016-07-30 繼續翻譯 OO design pattern in kernel,收到 stm32f4!

    今天持續翻譯 LWN 的 Object-oriented design patterns in the kernel, part 1,因為裏面提到的例子跟 filesystem 非常有關,就拿起 Linux Kernel Development 3e 出來翻了。然後在物件導向的地方參看了 jserv 的影片 https://www.youtube.com/watch?v=IG6q8WX0sK4,比較理解 C 的物件導向的概念是如何實現的,連帶比較搞懂整篇文章例子與架構在做什麼了。 然後早上收到 jserv 寄來的開發板三塊!分別是 stm32f4-discovery、respberry pi 3 ver.b、linkit 7688,把玩了一下 stm32f4-discovery,在過程中遇到這個問題: 2016-07-30T16:15:44 WARN src/usb.c: Couldn’t find any ST-Link/V2 devices我的背景是 archlinux,用 lsusb 明明就有看到出現在裏面,卻沒有辦法找到 devices,照著前人的 note 重新編譯 st-link 跟 openocd 還是遇到相同的問題。最後在 google 搜尋了一下後,發現是沒有用 sudo 來執行,導致 st-util 無法找到 devices…,這在前人的 note…

  • Object-oriented design patterns in the kernel, part 1 中文翻譯

                Object-oriented design patterns in the kernel, part 1                                Neil Brown                               June 1, 2011                …

  • mini-arm-os 00-HelloWorld

    00-HelloWord ├── hello.c ├── hello.ld ├── Makefile ├── reg.h └── startup.c 這個 helloworld 要做到從 USART2 輸出 “Hello World!” reg.h 定義了各個 register 的 memory address, stm32的 memory map 參考這邊[1] 這個部份需要以下3個的 memory address Reset and Clock Control RCC 0x4002 1000 RCC_APB2ENR   (APB2 peripheral clock enable register) 0x4002 1000 + 0x18 RCC_APB1ENR  (APB1 peripheral clock enable register) 0x4002 1000 +…

  • 2016年暑期系統軟體課程參後感想

    在這個活動報名結束前三天,看到 FB 河道上出現了 jserv 的貼文,是有關系統軟體的課程,為期三天在台大資工系館。當時候看了一下日期是星期日、一、二,本來想說現在正在實習,課程的時間跟實習有衝突要放棄掉,但想到機會難得,剛好在我在的地方而且報名還沒結束,權衡一下後就決定要來報名這個課程了。 打開報名網頁,才發現是一場災難的開始。在校生報名是有條件的!先決條件中最頭痛的就是「事先閱讀指定先修教材的心得和疑惑」。給予的指定先修教材共12份,大半都超過100頁,開始讀起來可以說是場悲劇,不過越讀下去是越讀越多停不下來,因為,「幹,都看不懂啊!」 不過不懂這些東西這倒還好,課程中 jserv 一直提到類似的概念「不懂沒關係,這代表你還有很多進步的空間」、「你懂的話幹嘛還要我教咧」、「我當初也是很挫折啦,看不懂啊」,這些話語可以說是讓我撐過三天課程的支柱啊。課程的資料可以參考: http://hackfoldr.org/sysprog-ntu2016/ 上完課了解到自己不論是 c programming 的掌握很不足,還有基本知識的淺薄,距離可用還有很長的一段距離。