:::: MENU ::::
Browsing posts in: Open Source Hardware

무료 8051 컴파일러 – SDCC

SDCC는 Small Device C Compiler의 약자입니다. GPL 라이센스를 따르는 free open source software입니다.
그리고 8051뿐만 아니라 motolora 60HC08 시리즈와 Microchip PIC16, PIC18시리즈도 지원을 하며, Linux, Windows, MAC OS를 지원하네요. 관련자료는 => http://sdcc.sourceforge.net/ 에서 찾을 수 있습니다.

http://sourceforge.net/projects/sdcc/files/ 에서 사용하는 OS 맞는 버젼을 다운받으시고 인스톨하시면 됩니다.
압축이 풀린 폴더에는 다음과 같은 내용의 파일들이 설치 됩니다.

In <installdir>/bin:
sdcc – The compiler.
sdcpp – The C preprocessor.
sdas8051 – The assembler for 8051 type processors.
sdasz80, sdasgb – The Z80 and GameBoy Z80 assemblers.
sdas6808 – The 6808 assembler.
sdld -The linker for 8051 type processors.
sdldz80, sdldgb – The Z80 and GameBoy Z80 linkers.
sdld6808 – The 6808 linker.
s51 – The ucSim 8051 simulator.
sz80 – The ucSim Z80 simulator.
shc08 – The ucSim 6808 simulator.
sdcdb – The source debugger.
sdcclib – A tool for creating sdcc libraries
asranlib – A tool for indexing sdcc ar libraries
packihx – A tool to pack (compress) Intel hex files.
makebin – A tool to convert Intel Hex file to a binary and GameBoy binary image file format.
In <installdir>/share/sdcc/include
the include files
In <installdir>/share/sdcc/non-free/include
the non-free include files
In <installdir>/share/sdcc/lib
the src and target subdirectories with the precompiled relocatables.
In <installdir>/share/sdcc/non-free/lib
the src and target subdirectories with the non-free precompiled relocatables.
In <installdir>/share/sdcc/doc
the documentation

인스톨과정에서 PATH 설정이 되며, 해당 소스가 있는 폴더에서 각 실행 파일을 실행시키면 되는데, 일반적으로 make 파일을 만들어서 사용합니다.

메뉴얼을 보니 Microsoft Visual C++ 6.0/NET (MSVC)에 연결을 해서 사용하는 방법도 있습니다.

cfile30.uf.1576FA424D50A67D272F09.pdf

직접 사용을 해보니 예전에는 에러가 많았는데 이제는 어느 정도 안정화 되가는 느낌이네요.


mbed 개발자 구인 스펙


mbed 개발자 스펙인데, 세계적인 회사에서 어떤 스펙을 요구하는지 이해하고 국내 개발자들도 실력을 갖추면 좋지 않을 까 생각이 드네요.
구체적인 내용은 링크 참고 ==> http://mbed.org/handbook/Jobs

 



Ninja Microcontroller Embedded Software Engineer


Job Requirements


Essential Skills & Experience



  • Excellent embedded programming skills in C/C++

  • Experience using MCUs

  • Experience porting and working with stacks (OS/RTOS, TCP/IP, USB, …)

  • Experience with compilers, build tools and toolchains, Linux

  • Experience with version control (svn, git, github)

  • Good university degree in a relevant subject

  • A desire to be involved in mbed and help deliver its goals

Desirable Skills & Experience



  • Experience developing substantial embedded applications

  • Good understanding of electronics, circuit design and fault finding

  • Experience with Assembly, Python, Other languages

  • Experience working with open source projects

  • Interesting portfolio of projects


Embedded Software and Electronics Industrial Placements


Job Requirements


You should have completed at least two years at a university studying a course with a significant electronics or software engineering element to it.


Desirable Skills & Experience



  • Embedded programming skills in C/C++

  • Experience developing embedded applications for microcontrollers

  • Hardware and PCB design, circuit level fault finding and debug

  • An understanding of electronic circuit design

  • A keen general interest in software engineering, computer science and embedded electronics


센서 데이터를 위한 데이터베이스: Pachube


Pachube, 발음은 “PATCH-bay” 로 한다고 합니다.
Pachube는 온라인 센서데이터를 웹에 보여주기 위한 온라인 데이터베이스 서비스를 해줍니다.
즉 전 세계에 있는 다양한 센서들의 정보를 display하고 공유하기 위한 웹 서비스입니다.

이 서비스가 제공하는 기능은 다음과 같습니다.
 
  -. Manage realtime sensor & environment data
  -. Graph, monitor & control remote environments
  -. Build mobile & web apps that create value
  -. Share data & create communitie


http://www.pachube.com/ 홈페이지에 튜토리얼과 API 등도 공개가 되어 있습니다.
그리고
http://community.pachube.com/software_hardware 에 사용가능한 H/W 플랫폼도 있습니다.
Arduino를 이용한 것도 보이네요. ^^
arduino and pachube


Top 40 Arduino 프로젝트


출처: http://hacknmod.com/hack/top-40-arduino-projects-of-the-web/



  1. Make a Simple Wall Avoiding Robot

  2. Basic LED Cube  Learn to Make LED Cubes

  3. How To Smell Pollutants

  4. XBee Wireless Accelerometer

  5. Breathalyzer Microphone

  6. Control Servo Motors with the Wii Mote Joystick

  7. Lo-fi Arduino Guitar Pedal

  8. Positional Memory with a Servo

  9. Miniature Pocket Piano

  10. Dirt Simple POV LED Display see also Wireless POV

arduino-projects-61



  1. How to Build a Self Balancing Segway-like Robot

  2. Website Visitor Blinker  Christmas Bell

  3. Turn Signal Biking Jacket

  4. DIY Musical Keytar

  5. Tweet-a-Watt Wireless Electricity Monitor

  6. RC Car Controlled Via the Web

  7. DIY Gaming with a 3D Controller

  8. Sanguino  Arduino with extra I/O pins

  9. Rocker Scale Measures how Hard You Rock

  10. Hack a NES Controller into a Security Keypad

arduino-projects-8



  1. Interfacing with Maya and 3d Studio Max

  2. Web Based Servo Control

  3. How To Make A Daft Punk Helmet – (see also DIY Daft Punk Suits)

  4. Automatic Head Tracking with Arduino

  5. Pong with the Arduino

  6. Interactive gaming controller

  7. Marble Labrynth controlled using the WiiFit

  8. Connect the the web: Ethernet Shield

  9. Physical Gmail LED Notifiers  RSS Notifier

  10. Robot that Reads and Speaks RSS Feeds

arduino-projects-7



  1. Botanicalls Twittering Plants

  2. Wiimote Controlled Espresso Machine

  3. How to: High Speed Photography using the Arduino

  4. Controlling an RC Car with iPhone and Wii  Another version

  5. Etch-a-Sketch Clock

  6. Open source Game Boy

  7. Electronics Filled, Arduino Powered Room

  8. How-To: Make an RGB combination door lock

  9. Make a UAV Spyplane Using the Arduino

  10. Fantastic Arduino Laser Harp


어떻게 하면 오픈 소스 하드웨어 (Open Source Hardware)가 성공을 할까?

이미 소프트웨어쪽에서는 Linux를 필두로 많은 Open Source Software들이
있었고 지금도 활성화되고 있다
. 이러한 움직임은 하드웨어에도 영향을 미치게 되었다. 잘 정리된 페이지는 MakeZine
블로그를 참고하자
Open source hardware 2009 – The definitive guide to open
source hardware projects in 2009

내용을 살펴보면
매우 다양한 분야에서 오픈 소스 하드웨어의 이슈가 있다
그럼 어떻게
하면 이 오픈 소스 하드웨어가 활성화 될 수 있을까
?

 

기술적인 부분가능한 진입장벽을 낮추라

사용자층은
전문 개발자가 아니다
Arduino만 하더라도 아티스트, 디자이너들을
위해 만들어진 프로젝트이다
. 따라서 누구나 쉽게 개발환경을 갖추고 쉽게 개발할 수 있는 툴을 제공할
수 있어야 한다
.

l  사용된 하드웨어
부품은 쉽게 구할 수 있는 것으로 해야 한다
.

l  개발 환경은
무료툴을 제공해야 한다
예를 들면 컴파일러의 경우 GNU 계열의
무료 툴을 제공하거나
회로도의 경우 무료 CAD 툴인
EAGLE 
사용해야 한다
.

l  가능한 쉽게
개발이 가능하도록
 프로그래밍 툴을 제공해야
한다
. GNU 계열의 툴이 무료이지만 사용이 쉽지 않다. 이것을
캡슐화하거나 배우기 쉬운 스크립트 언어를 제공해야 한다
.

l  개발 보드는
플랫폼 성격을 가지므로 확장성을 고려해
stackable, modular 타입으로 디자인 해야 한다. 예를 들면 Arduino ShieldBug labs의 
modular 타입의 보드처럼..

 

문화적인
부분
: 사용자들이 소통할 수 있는 온라인 플랫폼을 제공하라.

관심이 있는
다양한 사용자들이 서로 이야기할 수 있는 공간이 온라인 상에 있으므로 서로의 프로젝트를 공유하고
, 서로
자랑하고
, 의견을 나눌 수 있는 환경을 만들어야 한다.
이 공간을 통해 서로가 자극이 되고 격려가 되어 자신의 프로젝트를 공개할 수 있는 온라인 공간이 필요하다
.
사람
, 한 회사에서 주도하는 게시판 성격의 틀이 아닌 누구나 질문을 올리고 서로 답변을 할 수 있는
공간이 되야 한다
.

위의 두가지 조건이 최소의 조건이다. 그래야지 Open Source Hardware가 활성화되고 compatible한 또 다른 Open Source Hardware가 탄생을 한다. Arduino의 Arduino-Compatible Hardware 보기.