很高興 Mediatek 在去年推出 linkit smart 7688 開發版,你可以把 7688 想成是一台迷你型 Router,如果不來拿開發,也可以當家用 Router 也是不錯的。7688 讓開發者可以在上面寫 Node.js, Python 及 Native C,光是聽到 Node.js 就很興奮,用 JavaScript 控制硬體。但是本篇要介紹如何在 7688 執行 Golang 程式,其實不難,只要把 OpenWrt 支援 gccgo 及 libgo 即可。底下步驟同步於我的 Github Repo
[Read More]簡報 GNU Make, Autotools, CMake 簡介
Javscript 18 歲生日歷史演進
在 resin.io 看到這篇 Happy 18th Birthday JavaScript! A look at an unlikely past and bright future. 裡面有些 Javascript 發展史,蠻有趣的,分享給大家看看。18 年前由 Netscape 和 Sun 共同 Release Javscript,在當年18天後,Ruby 也同時發佈了,底下來看看 Javscript 歷史演進。
[Read More]壓縮 Javascript 和 CSS 檔案 script command
CSS 跟 JavaScript 檔案,減少 Http request 流量,網路上已經有非常多的 Compressor tool,像是 Google Closure Compiler 或 YUI Compressor,都是用來壓縮 JS 或 CSS 檔案,這次寫了 script 來壓縮整個網站目錄裡的 js 或 css 檔案,不過 script 所使用的 Compressor command 是 Node Base 的 tool,分別是 UglifyJS 及 sqwish 這兩套,當然使用 command 之前,請務必先安裝好 Node.js 最新版本啦,不過沒安裝也沒關係,底下有懶人安裝 script command。這些 tool 對於 Embedded System 在 build firmware 相當有用,可以減少不少 code size 阿。 可以直接看專案說明,就可以不必看底下步驟了
[Read More]How to write Platform Devices and Drivers with FPGA via GPMC
這投影片是我在接手公司其中一個專案,所做的 Slide,當然最主要是深入了解 GPMC (General Purpose Memory Control),GPMC 本來是ARM 用來跟 Memory 溝通的 interface,現在用來跟 FPGA 溝通,目前我只有看到
TI 的線上文件有看到相關說明,以及解釋 GPMC 的 Program Model,在寫 GPMC 之前請先注意 Platform Device 跟 Platform Driver 的關係,之後才會開始設定 GPMC Config(1~7) 的設定檔,這樣拿示波器就可以看到 GPMC Chip Select 訊號,每個 ARM 只能接 8 個 Chip Select,這點大家必須注意,Flash 會用掉一個,在這專案學到蠻多東西,畢竟 Driver 這塊非常大,之前寫 G-Sensor 的 i2c Driver 也是如此。此 Slide 只是初步介紹,更詳細的就要實際撰寫程式碼了。
busybox iptunnel 噴出錯誤訊息
最近在弄新案子,用的是 Atheros solution (被高通買下),發現 SDK 裡面已經有更新到 Busybox 1.15,由於在建 ipv6 tunnel 時候必須用到 ip 這指令,當然必須支援 iptunnel,當我把 busybox 選項打開就噴出底下錯誤訊息:
busybox-1.01/networking/libiproute/libiproute.a(iptunnel.o):iptunnel.c:(.text+0x574): more undefined references to `__cpu_to_be16’ follow 在 Google 大神指示下找到一篇答案 修改 networking/libiproute/iptunnel.c
#include# 後面加上 #include
[網站] 好站連結 (八) Android, javascript, CSS, PHP, Perl, FreeBSD, Linux
PHP
CSS
Html5
- A ROCK-SOLID DEFAULT FOR HTML5 AWESOME( Html5 模板)
- The Official Guide to HTML5 Boilerplate
- Create a Sticky Note Effect in 5 Easy Steps with CSS3 and HTML5
Git:
Javascript:
- Learning JavaScript and DOM with Console
- 淺談 JavaScript 編程語言的編碼規範
- Creating photo gallery using jQuery and VisualLightBox
- Importing multiple RSS feeds – using newsWidget (jQuery)
- Evolution of Script Loading
- Global eval. What are the options?
FreeBSD:
[Read More]2011 OSDC Day 1 筆記
Update: 補上 OSDC 紀錄影片 2011.06.26 今年很高興可以北上參加 OSDC 2011 (Open Source Developers Conference),由於之前都在南部唸書及工作,沒有機會北上參加聚會,現在人在新竹,終於有機會可以參加了,雖然早上六點就要起床趕電車了,不過到現場聽課感覺就是不同,也可以認識很多新朋友,底下來紀錄上課筆記
微軟與 jQuery 社群的親密接觸
講者: Eric Shangkuan (Microsoft) Slide: 微軟與 jQuery 社群的親密接觸 這是 OSDC 第一場演講,早上九點就開始了,雖然人不多,但是蠻多人還是為了講者而來,首先介紹什麼是 jQuery,以及 jQuery 一些基本用法,像是 CSS selector,如何在 Windows Visual Studio 上面開發 jQuery 及撰寫 plugin 整合進去 ASP.Net,最後介紹三個不錯用的 jQuery Plugin: Templeate, Datalink, Globalzation。
- Templeate: 這搭配 Facebook api 可以直接做個人頁面,請參考這裡
- Globalzation: 前端多國語系實做
- Datalink: 可以快速處理 form,利用 object 跟 jQuery 搭配
如果要研究上述三個 jQuery Plugin 可以參考底下: jQuery Datalink: https://github.com/jquery/jquery-datalink jQuery Templeate: https://github.com/jquery/jquery-tmpl jQuery Globalzation: https://github.com/jquery/jquery-global
HandlerSocket - A NoSQL plugin for MySQL
講者: Jui-Nan Lin (PIXNET) Slide: HandlerSocket - A NoSQL plugin for MySQL 會後有部份聽眾提出了一些問題,PIXNET 也已經回報給 MySQL 請他們修復這些問題,可以參考 gslin 大神回覆的這篇: MySQL HandlerSocket 的情況…,不過 NoSQL 有個缺點就是沒有帳號密碼,這部份蠻好解覺的,因為 DB 都直接放在後面,前面加上防火牆就好了。
[Read More][Linux] 打造 Ubuntu 10.10 嵌入式系統 Embedded System 開發環境
作者於公司內部擔任嵌入式系統(Embedded System)工程師,由於嵌入式系統開發環境,本 Team 大多是用於 Fedora 作業系統,個人覺得 Fedora 太肥了,所以打造了 Ubuntu 的環境,針對於各家不同晶片廠商所提供的 ToolChain 及 Code base 進行編譯,其實也不會很難,修改 Makefile 檔案大致上都可以完成,安裝各種不同版本的 gcc 來搭配各家 Vendor 所提供的環境,底下是剛安裝好 Ubuntu 10.10 版本所需要的一些軟體套件,利用 apt-get 指令就可以安裝完成:
#!/bin/sh apt-get update apt-get -y install openssh-server apt-get -y install vim apt-get -y upgrade apt-get -y install build-essential apt-get -y install git apt-get -y install subversion apt-get -y install bison apt-get -y install flex apt-get -y install gettext apt-get -y install g++ apt-get -y install libncurses5-dev apt-get -y install libncursesw5-dev apt-get -y install exuberant-ctags apt-get -y install sharutils apt-get -y install help2man apt-get -y install zlib1g-dev libssl-dev # for samba 3.0.2 apt-get -y install gawk # for Ralink apt-get -y install libid3tag0-dev apt-get -y install libgdbm-dev[Read More]
[Linux] 將 iperf 導入嵌入式系統 Router
iperf 是一套測試網路效能工具,對於網通廠各工程師們不可或缺的啦,分享如何將 iperf 裝到嵌入式板子,其實在 Porting 每一個工具到板子上的方式差不多,步驟大概是利用 configure file 產生 Makefile,修改 gcc tool chain 路徑,將編譯好的程式放到 root file system,基本上就是如此,目前 iperf 到 2.0.5 版,大家快去下載吧。 直接修改 user space 的 Makefile:
cd ./user/apps/iperf-2.0.5; \ ./configure --host=mips-linux CC=$(TOOLPREFIX)gcc CXX=$(TOOLPREFIX)g++ --disable-ipv6 \ --prefix=$(shell (pwd -P))/user/apps/iperf-2.0.5/romfs;\ $(MAKE) && $(MAKE) install ;\--host, CC, CXX 請換上 Tool Chain 對應路徑,大致上就可以了,更多設定可以參考 ./configure --help 編譯過程如果出現底下錯誤
undefined reference to malloc就將 config.h.in 這檔案,底下整段 mark 起來,就可以編譯過了
/* Define to rpl_malloc if the replacement function should be used. */ undef mallocref:

