Kick4の掲示板

九州プログラミング研究会(kick4)の掲示板です。
プログラミングや電子工作について話し合いましょう。
会員以外の投稿も歓迎します。

5 / 95 ツリー ←次へ | 前へ→


PIC32MXの事で のざわ 14/1/25(土) 22:17
Re:PIC32MXの事で のざわ 14/1/25(土) 22:43
最適化で消えそう nari 14/1/26(日) 19:36
Re:最適化で消えそう のざわ 14/1/26(日) 22:06
Re:最適化で消えそう iruka 14/1/27(月) 9:29
ICESELの指定が間違ってませんか? nari 14/1/27(月) 11:29
Re:ICESELの指定が間違ってませんか? のざわ 14/1/27(月) 20:27

PIC32MXの事で
 のざわ  - 14/1/25(土) 22:17 -

引用なし
パスワード
   たびたび済みません。

PICKIT3とmplab xを使って、プログラムを作り書き込む事は出来るのですが
デバッグが出来ません。

PICKIT3のOptionのPowerの項はpower target circit from PICkit3にも
チェックは入れています。Voltage Levelは3.25です。

書いたプログラムは以下なのですが、何が悪いのでしょうか?

よろしくお願いします。

/*
* File:  main.c
* Author: nozawa
*
* Created on 2014/01/25, 17:37
*/

#include <proc/p32mx210f016b.h>
#include <plib.h>

#pragma config PMDL1WAY = OFF  //Peripheral Module Disable Configuration:Allow multiple reconfigurations
#pragma config IOL1WAY  = OFF  //Peripheral Pin Select Configuration:Allow multiple reconfigurations
#pragma config FUSBIDIO = OFF  //USB USID Selection:Controlled by Port Function
#pragma config FVBUSONIO = OFF  //USB VBUS ON Selection:Controlled by Port Function
//#pragma config FPLLIDIV= DIV_1 //PLL Input Divider:1x Divider (DIV_1,DIV_2,DIV_3,DIV_4,DIV_5,DIV_6,DIV_10,DIV_12)
#pragma config FPLLIDIV = DIV_2
//#pragma config FPLLMUL = MUL_15 //PLL Multiplier:15x Multiplier(MUL_15,MUL_16,MUL_17,MUL_18,MUL_19,MUL_20,MUL_21,MUL_24)
#pragma config FPLLMUL  = MUL_20
//#pragma config FPLLODIV= DIV_1 //System PLL Output Clock Divider:PLL Divide by 1(DIV_1,DIV_2,DIV_4,DIV_8,DIV_16,DIV_32,DIV_64,DIV_256)
#pragma config FPLLODIV = DIV_2
//#pragma config FNOSC  = FRC  //Oscillator Selection Bits:Fast RC Osc (FRC) (FRC,FRCPLL,PRI,PRIPLL,SOSC,LPRC,FRCDIV16,FRCDIV)
#pragma config FNOSC   = PRIPLL
#pragma config FSOSCEN  = OFF  //Secondary Oscillator Enable:Disabled
#pragma config IESO   = OFF  //Internal/External Switch Over:Disabled
//#pragma config POSCMOD  = OFF  //Primary Oscillator Configuration:Primary osc disabled (EC,XT,HS,OFF)
#pragma config POSCMOD  = HS
#pragma config OSCIOFNC = OFF  //CLKO Output Signal Active on the OSCO Pin::Disabled
#pragma config FPBDIV  = DIV_1 //Peripheral Clock Divisor:Pb_Clk is Sys_Clk/1 (DIV_1,DIV_2,DIV_4,DIV_8)
#pragma config FCKSM   = CSDCMD //Clock Switching and Monitor Selection:Clock Switch Disable, FSCM Disabled (CSECME,CSECMD,CSDCMD)
#pragma config WDTPS   = PS1  //Watchdog Timer Postscaler:1:1 (PS1,,,,PS1048576)
#pragma config WINDIS  = OFF  //Watchdog Timer Window Enable:Watchdog Timer is in Non-Window Mode
#pragma config FWDTEN  = OFF  //Watchdog Timer Enable:WDT Disabled (SWDTEN Bit Controls)
#pragma config FWDTWINSZ = WINSZ_50//Watchdog Timer Window Size:Window Size is 50% (WINSZ_75,WINSZ_50,WINSZ_37,WISZ_25)
#pragma config DEBUG   = OFF  //Background Debugger Enable:Debugger is Disabled
#pragma config JTAGEN  = OFF  //JTAG Enable:JTAG Disabled
#pragma config ICESEL  = RESERVED//ICE/ICD Comm Channel Select:Reserved (RESERVED,ICS_PGx3,ICS_PGx2,ICS_PGx1)
#pragma config PWP    = OFF  //Program Flash Write Protect:
#pragma config BWP    = OFF  //Boot Flash Write Protect bit:
#pragma config CP    = OFF  //Code Protect:

/*
*
*/
int main(int argc, char** argv) {
  int i,j,k;

  for(i = 0;i < 10;i++){
    for(j = 0;j < 10;j++){
      k =0;
    }
  }
   return (EXIT_SUCCESS);
}
<Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0@60-62-121-56.rev.home.ne.jp>

Re:PIC32MXの事で
 のざわ  - 14/1/25(土) 22:43 -

引用なし
パスワード
   インクルードが違っている事に気がつき直しましたが、やはり動きません。

#include <proc/p32mx220f032b.h>

USB側から電源を入れても同じです。
<Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0@60-62-121-56.rev.home.ne.jp>

最適化で消えそう
 nari  - 14/1/26(日) 19:36 -

引用なし
パスワード
   デバッガが使えないというのが、
どういう状況なのかわかりませんが、


>int main(int argc, char** argv) {
>  int i,j,k;
>
>  for(i = 0;i < 10;i++){
>    for(j = 0;j < 10;j++){
>      k =0;
>    }
>  }
>   return (EXIT_SUCCESS);
>}

なんか、最適化で全部消えてしまいそうな
プログラムですね。
消えないように、volatileを使ってみるとか、
I/Oを触ってみるとかしてみたら如何でしょうか。
<Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0@hslpc19.local>

Re:最適化で消えそう
 のざわ  - 14/1/26(日) 22:06 -

引用なし
パスワード
   ▼nariさん:
>デバッガが使えないというのが、
>どいう状況なのかわかりませんが、

ご指導ありがとうございます。

mplab xで、まずビルドすると

BUILD SUCCESSFUL (total time: 55ms)
Loading code from /home/nozawa/MPLABXProjects/debugtest.X/dist/default/production/debugtest.X.production.hex...
Loading symbols from /home/nozawa/MPLABXProjects/debugtest.X/dist/default/production/debugtest.X.production.elf...
Loading completed
Connecting to programmer...
Programming target...
Programming completed
Running target...

となり、次にダウンロードすると

Connecting to MPLAB PICkit 3...
Firmware Suite Version.....01.29.44
Firmware type..............PIC32MX

Target detected
Device ID Revision = A0

The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0xfff
boot config memory
configuration memory

Programming...
Programming/Verify complete

となるのですが、デバッガーコンソールには

Launching
Programming target
The target device is not ready for debugging. Please check your configuration bit settings and program the device before proceeding.
The debugger could not be started. Terminating debug session.
User program finished

と言われてしまうんです。

あちこち見て回ると、クロックの設定が旨くいってないと、こうなるみたいな事が書いてありました。

と言うことで、何が悪いんだろうと思っている所です。
<Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0@60-62-121-56.rev.home.ne.jp>

Re:最適化で消えそう
 iruka  - 14/1/27(月) 9:29 -

引用なし
パスワード
   ▼のざわさん:

PicKitやMPLAB環境は持っていないので的外れかもしれませんが、

>The target device is not ready for debugging. Please check your configuration bit settings and program the device before proceeding.
>The debugger could not be started. Terminating debug session.
>User program finished
>
>と言われてしまうんです。
>
>あちこち見て回ると、クロックの設定が旨くいってないと、こうなるみたいな事が書いてありました。
>
>と言うことで、何が悪いんだろうと思っている所です。

単なるforループではなく、LチカするとかLED点灯させるような
progを書いて、picKit3無し起動で動くかどうか試すというのは
いかがでしょう?

それでLチカそのものが動いているなら、クロックは正常で、
以下のconfigあたりを攻めてみるというのはいかが?

#pragma config DEBUG   = OFF  //Background Debugger Enable:Debugger is Disabled
<Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)@luna.alfasystem.net>

ICESELの指定が間違ってませんか?
 nari  - 14/1/27(月) 11:29 -

引用なし
パスワード
   下記のICESELの指定が間違ってませんか?

> #pragma config ICESEL  = RESERVED//ICE/ICD Comm Channel Select:Reserved (RESERVED,ICS_PGx3,ICS_PGx2,ICS_PGx1)

MPLAB X IDEで試してみました。
同じようなエラーが出ましたが、

#pragma config ICESEL = ICS_PGx3   

とすることで、デバッグ(ブレークポイントで
止めたり、ステップ動作させたり)できました。

でも、反応がかったるいので、
printfデバッグの方がやりやすい
ように思います。
<Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0@hslpc24>

Re:ICESELの指定が間違ってませんか?
 のざわ  - 14/1/27(月) 20:27 -

引用なし
パスワード
   どうも有難うございます。

▼nariさん:
>下記のICESELの指定が間違ってませんか?
>
>> #pragma config ICESEL  = RESERVED//ICE/ICD Comm Channel Select:Reserved (RESERVED,ICS_PGx3,ICS_PGx2,ICS_PGx1)

こちらでも、問題なく出来る事を確認しました。

これより先にライターをシミュレートにすると変数の変化が見える事に気が付きました。

デバッガモードで無いとwindow->degugに関する機能は使えませんが、変数の中身を見るにはシミュレートで無いとダメのようでした。

また、int16のシミュレートをやると変数が見えずに困っていましたが、

#include <dsplib_dsp.h>

を入れるとint16型のデータも、中身を見れるようになりました。

純正環境のIIRをこれから動かしてみます。

ご指導ありがとうございました。
<Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0@60-62-121-56.rev.home.ne.jp>

5 / 95 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
60298
(SS)C-BOARD v3.8 is Free