2016年4月26日 星期二

Xilinx Virtual Download Cable using Raspberry Pi

based on this project below…( Thanks this great project )
https://github.com/tmbinc/xvcd

just replacement following function calls…

======== gipo.c ========
#include

#define GPIO_TDI 3       /// JTAG TDI pin
#define GPIO_TDO 12   /// JTAG TDO pin
#define GPIO_TCK 13   /// JTAG TCK pin
#define GPIO_TMS 14   /// JTAG TMS pin

void gpio_init(void)
{
if (wiringPiSetup() == -1)
return;
gpio_output(GPIO_TDI, 1);
gpio_output(GPIO_TMS, 1);
gpio_output(GPIO_TCK, 1);
gpio_output(GPIO_TDO, 0);
}

void gpio_close(void)
{
}
================

======== gipo_inline.h ========
static inline void gpio_output(int i, int dir)
{
if (dir)
pinMode (i, OUTPUT);
else
pinMode (i, INPUT);
}

static inline void gpio_set(int i, int val)
{
if (!val)
digitalWrite (i, 0) ; // Off
else
digitalWrite (i, 1) ; // On

}

static inline int gpio_get(int i)
{
return (digitalRead( i )!=0);
}
================

Tested with NetBeans IDE 8.1 + Raspberry Pi 1 & 2 + Xilinx XC3S400AN



2016年4月22日 星期五

NETBEANS 開發 RASPBERRY PI APP

使用 NETBEANS 開發 RASPBERRY PI APP
非常方便,可遠端開發、執行偵錯

請參考此篇…
http://www.raspberry-projects.com/pi/programming-in-c/compilers-and-ides/netbeans-windows/installing-netbeans-for-c-remote-development-on-a-raspberry-pi

主要需增加一個遠端 HOST 的設定

若有使用 WIRING PI 等 I/O 底層服務,則需以 ROOT 身份進行遠端操作
可參考此篇…
http://www.raspberry-projects.com/pi/programming-in-c/compilers-and-ides/netbeans-windows/creating-a-new-project

主要為了打開 ROOT 帳戶
sudo passwd root
sudo nano /etc/ssh/sshd_config
PermitRootLogin and change it to yes (the default "without-password" won't work – change it to "yes"
存檔後 reboot

2016年4月18日 星期一

這些年摸過的小玩意

記錄一下這些年摸過的小玩意…

RASPBERRY PI : 拿來開發較複雜的系統很好,Linux base 的核心基本上可以玩的東西就很多了,而且資源也很豐富。

Intel Galileo : 只稍微摸看看,基本上能玩的跟 PI 應該大同小意。

Arduino DUE : 32bit ARM 作出來的強化版 Arduino,可以開發 ADK( Android Open Accessory Development Kit) 不過現在都走無線的了吧?

Arduino UNO : 好用是無庸置疑的,拿來作快速開發,網路上還有一堆 lib 可以用。

TI MSP430 : Good

ESP2866 : 小型 wifi 嵌入式系統,腳位不多,可以拿來作 iot 之類的東西。

TI CC2541 : 藍牙模組,可以拿來作 iot 之類的東西,開發手機應用產品。

EN28j60 : 8bit 低階 MCU 上網功能,還算堪用,也因此學會了很多網路底層的東西。

STM32F030 : 便宜的 ARM,拿來當強化版的 8bit MCU 用。

Freescale FRDM KL-05 : 還 ok。

Freescale TWR-S12G128 : 還 ok。☆

Arduino W5100  Ethernet Shield : Arduino 要簡單上網就靠它了。

STM32 Demo Board : 拿來學習 ARM 的板子。

ST NUCLEO-F411RE : mbed 開發版。

STM32 Demo Board : 拿來學習 ARM 的板子。

還有其它數不清的小模組板…

更高效處理 micro second 的方式

更高效處理 micro second 的方式…  以 STM32 為例… __IO unsigned long sys_tick = 0; void SysTick_Handler(void) {     HAL_IncTick();     sys_tick += (SysTi...