FC2カウンター

現在の訪問者数

現在の閲覧者数:

カレンダー

04 | 2017/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

プロフィール

剣菱P

Author:剣菱P
剣菱Pと申します。
性別:男
年齢:27
二兎を追って一兎も得られないタイプ

マイコンやプログラミング、ニコニコ動画、雑記等
方向性は見えずとも、ちょっとずつ更新していく予定です!

リンクフリーです。
こんなブログでよかったらよろしくお願いしま~す。

公開メール kenbishiP@gmail.com

検索フォーム

最新記事

最新コメント

カテゴリ

メールフォーム

名前:
メール:
件名:
本文:

月別アーカイブ

最新トラックバック

リンク

ブロとも一覧

ブロとも申請フォーム

ランキング

ランキング参加中です。気が向いたらクリックしてあげてください。


にほんブログ村 その他趣味ブログへ
にほんブログ村 その他趣味ブログ 趣味の工作へ

スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

NIOS2奮闘記【16】割込み NIOS2奮闘記【14】Hello_World»

コメント

コメントの投稿













管理者にだけ表示を許可する

NIOS2奮闘記【15】printf


あきらめてHello_World_Smallにしてみたけど
ひとつ疑問が、そもそもテンプレートって使わないといけないのかな?
使わないといろいろ面倒な手配を手動でやらなきゃいけないってことなのだろうか
うーん、まぁいずれわかるだろう



前回fgets()とかの関数は使えなかったけど、printf関数はエラー出てなかったな

ためしにNIOS2からPCにprintfを使って文字を送ってみよう


#include <stdio.h>
#include "sys/alt_stdio.h"
#include "system.h" //システム情報
#include "altera_avalon_pio_regs.h"
#include "my_wait.h"

int main()
{
    char out = 0; 

    printf("Hello from Nios II!\n"); 

    while (1){ 
      IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE,~out);  
      printf("%d\n",out); 
      _1ms_wait(1000); 
      out++;  
    } 

    return 0; 
}


20120710_132833.jpg

普通に動いてるな、printf()はstdio.hで定義されてるんだからstdio.hが使えないってわけじゃないのか

なんでfgets()とかはダメなんだろう


ためしに#include をコメントアウトしてコンパイルしてみた

warning: implicit declaration of function `printf'

って警告は出たもののエラーにはならなかった

なんでだ?

実行してみたらさっきと同様に動いた

でも、警告では定義があやしい プロトタイプ宣言がない って言ってるから

やっぱstdio.hにあるんだよなぁ

なんで実行できるんだ?


あ、もしかして

一度コンパイルが成功してるから printf関数が実体化されていて
ソースファイルに変更を加えて再コンパイルしても時間短縮のために変更点のみのコンパイルを行って
変更点だけリンクしなおしてるからかな?
ならば一回クリーンにしてからコンパイルしたらエラーになるかな
やってみよう





あれー、それでもやっぱり出来ちゃうな

なんでprintf関数は使えるんだ  謎


しかしまぁ、printfは使用できるってことは確認できたか なんか納得いかないけど


プログラミングってまだまだ知らないことがたくさんあるなぁ
スポンサーサイト

NIOS2奮闘記【16】割込み NIOS2奮闘記【14】Hello_World»

コメント

コメントの投稿













管理者にだけ表示を許可する


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。