2015年10月30日金曜日

mbedプログラム

lpc1769をmbedとして使い、オンラインコンパイラでAPIも揃っていて快適なプログラミング
コンパイルをするとブラウザ機能でbinファイルをダウンロードできる。
lpcマイコンとはUSBシリアル変換ケーブルでつなぐ
 シリアル     LPC1768/1769
RXD---------P0.2


TXD---------P0.3


DTR---|<|---RESET


RTS---|<|---P2.10


GND---------GND




上記のようにつなぐ。またはRXDとTXDだけをつないでマイコンのResetとP2.10をスイッチでGNDにつなぐ。
Resetが解除(Low→High)になったときにP2.10がHighなら通常モード、Lowならブートモードになる。lpc21ispはこれを自動で行ってくれる。ただしResetやP2.10をシリアルにつなぐ副作用として、単純にTeraTermでポートを開いたときに勝手にブートモードに入ってしまう必要がある。TeraTermならマクロでこのあたりは回避できるがめんどくさい。
書き込みソフトはフラッシュマジックとか色々あるらしいが今回は「lpc21isp」を使いコンソールとして「DDKarmTool」を使っている。地味に使いやすい。
書き込み速度は115.2kbpsで小規模なプログラムなら15sほどで書き込める

 今回コンパイラのコード管理機能(コミットやリビジョンなど)で途中を保存しながら書いていたのだがアカウント設定でgithubとConnectしないと使用できないことに気付く(Connectしていなくてもコンパイラではさも出来ているかのように振舞う)。
手動で復旧しないと……。
ちなみにConnectはボタンを押すだけで、別にGithubのアカウントを取得したりする必要はないみたい。どうなっているんだろう。

2015年10月17日土曜日

Cプログラム makeの使い方

わざわざコンパイルをするときにコマンドを打つのは面倒なのでmakeファイルの設定をします。
main.cがあるところにMakefileというファイルを作ります(Mは大文字)。中身は

CC=gcc
CFLAG=-g
OBJGROUP=main.o

all: program

program: $(OBJGROUP)
(ここはTab)$(CC) -o program $(OBJGROUP)

プログラムファイル名がmain.cで無かったら 「OBJGROUP=main.o」のところを修正してください。
これで該当ディレクトリに居るときに「make」だけでコンパイルが通ります。

 おまけ
GNOMEデスクトップ(標準で付いてくるもの)の画面ロックを無効にしたいとき。アクティビティの「設定」→「プライバシー」の「画面ロック」で設定できます。

2015年10月13日火曜日

GCCによるC言語プログラミング

もう入っているはずだがgccのインストールsuでrootになってから
# apt-get install gcc
 
エディタはviやemacsは難しそうなのでgeditを使用。windowsで言うメモ帳みたいなもの
#include<stdio.h>
int main() {
  printf("Hello, World\n");
  return 0;
}
を/home/cprogram/test0.cに保存

# gcc /home/cprogram/test0.c
# ./a.out

でプログラムが実行される。

debianの設定

Windows上に仮想マシンを作ってDebinをインストールして見た。
①vmware playerをインストール
②たいていの場合デフォルトでinte-vtという仮想化モードがBIOSによって無効化されているので、ホストPCを再起動してBIOSに戻り設定をしなおさないとけないThinkpadE130の場合securityのところにあって見つけるのが面倒だった。
③debianのディスクイメージを入手、検索をかけるとすぐに出てくる。3GBと地味に大きいので先にダウンロードしよう
④debianのインストール グラフィカルインストールと普通のインストールがあったが、普通のインストールの法を使った。別にただ指示にしたがって入力するだけだった。
⑤gccコンパイラなどの基本的なものの入手
# aptitude install build-essential を実行、vmwareだとホストとゲストの間でクリップボードが共有されるらしい。地味に便利。root権限でないと実行できないみたいなのでsuを使う。
⑥vmware toolsのインストール 入れると処理が高速化するらしい
http://pubs.vmware.com/player-12-windows/index.jsp?lang=ja&topic=/com.vmware.player.win.using.doc/GUID-08BB9465-D40A-4E16-9E15-8C016CC8166F.html
http://mo.kerosoft.com/0177
を参考にしたがうまくいかない。
あまり悩まずに忘れることに……

ブログはじめました。

ブログを作成しました。eri_Aです。
電子工作やプログラムについて書いて行きます。