Kick4の掲示板

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

1 / 19 ページ 前へ→


てすとです。
 なり  - 18/2/5(月) 22:36 -

引用なし
パスワード
   てすとさせてください。
・ツリー全体表示
<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0@192.168.0.19>

落選しました
 nari  - 14/11/13(木) 7:42 -

引用なし
パスワード
   出展に応募はしまいいたが、
残念なががら、落選してしまいました。

今年は、一般客として見に行く予定です。
・ツリー全体表示
<Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0@hslpc19.local>

今年のMakeには出展されますか?
 やもり  - 14/11/12(水) 7:46 -

引用なし
パスワード
   おせわになります。昨年PIC32MXの基板をMakeで
分けていただいたものです。

今年のMakeには出展されますか?

PIC32MXは秋月で64Kと128Kが販売されるように
なっていろいろ試せるようになりましたね。

ではでは
・ツリー全体表示
<Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.59.10 (KHTML, l...@110-134-193-113.rev.home.ne.jp>

テスト
 nari  - 14/7/21(月) 22:18 -

引用なし
パスワード
   書き込みのテストです。
・ツリー全体表示
<Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0@hslpc19.local>

Re:PIC32MXのベクトル演算
 のざわ  - 14/2/4(火) 19:35 -

引用なし
パスワード
   おせわになります。

>PIC32MXにはベクトル演算機構はないです。

積と和を同時計算するだけで、それがベクトルにはなっていないようですね。

>私はなんとなくMIPS歴が長いので、普通にCでもこんなことします。
>(ループアンロール)

この問題が4のアンロールなのはbiquadだからなのでしょうね。

まだ不明な点もありますけど、劇的にスピードに影響しそうも無いなら
まぁ、いいやと言うことにします。

とりあえず普通にIIRを書いてスピードを見てみます。

どうも、ありがとうございます。
・ツリー全体表示
<Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0@61-24-26-228.rev.home.ne.jp>

Re:PIC32MXのベクトル演算
 iruka  - 14/2/3(月) 12:51 -

引用なし
パスワード
   ▼のざわさん:
>お世話になります。
>
>良く判らないので質問させてください。
>
>http://ww1.microchip.com/downloads/en/DeviceDoc/51685E.pdf
>
>例えば、このマニュアルの103ページにあるmips_vec_add16ですが二つのベクトル列を足していますが、これって
>
>一度に16bitの演算を2回やっているのでしょうか?
>
>Nは4の倍数で4以上にしろと書いてあるので、なんらかのベクトル計算だと思うのですが、実際の所どうやっているか判らないです。
>
>gcc環境のほうで、高速な16bitのQ形式の線形計算(+-X/)のベクトル演算をしたいのですが、参考になる資料を探していています。
>
>何か資料はありませんでしょうか?


libdsp.aというのがMPLABのインストール先のどっかに作られていると思います。
それを逆アセンブルすれば良いです。

D:> mips-objdump -S libdsp.a

vec_add16.o:   file format elf32-littlemips


Disassembly of section .text:

00000000 <mips_vec_add16>:
  0:    30e7fffc     andi    a3,a3,0xfffc
  4:    00073840     sll    a3,a3,0x1
  8:    00a73821     addu    a3,a1,a3

0000000c <loop>:
  c:    84a80000     lh    t0,0(a1)
 10:    84a90002     lh    t1,2(a1)
 14:    84aa0004     lh    t2,4(a1)
 18:    84ab0006     lh    t3,6(a1)
 1c:    84cc0000     lh    t4,0(a2)
 20:    84cd0002     lh    t5,2(a2)
 24:    84ce0004     lh    t6,4(a2)
 28:    84cf0006     lh    t7,6(a2)
 2c:    010c4021     addu    t0,t0,t4
 30:    012d4821     addu    t1,t1,t5
 34:    014e5021     addu    t2,t2,t6
 38:    016f5821     addu    t3,t3,t7
 3c:    a4880000     sh    t0,0(a0)
 40:    a4890002     sh    t1,2(a0)
 44:    a48a0004     sh    t2,4(a0)
 48:    a48b0006     sh    t3,6(a0)
 4c:    24a50008     addiu    a1,a1,8
 50:    24c60008     addiu    a2,a2,8
 54:    14a7ffed     bne    a1,a3,c <loop>
 58:    24840008     addiu    a0,a0,8
 5c:    03e00008     jr    ra
 60:    00000040     ssnop

vec_addc16.o:   file format elf32-littlemips

こんな感じで普通にN=4のループアンロールですね。

PIC32MXにはベクトル演算機構はないです。
私はなんとなくMIPS歴が長いので、普通にCでもこんなことします。
(ループアンロール)

ARMはレジスタ少ないし、遅延分岐しませんし、小回りが利くので
あんまりアンロールしなくても速い感じです。
・ツリー全体表示
<Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chr...@luna.alfasystem.net>

Re:PIC32MXのベクトル演算
 nari  - 14/2/3(月) 10:20 -

引用なし
パスワード
   >一度に16bitの演算を2回やっているのでしょうか?
>
>Nは4の倍数で4以上にしろと書いてあるので、なんらかのベクトル計算だと思うのですが、実際の所どうやっているか判らないです。

私も判りませんが、簡単なプログラムをコンパイルし、
出来たコードを逆アセンブルすればわかるのではないでしょうか。

まぁ、ライブラリーのコードを直接逆アセンブルしても良いわけですが..
・ツリー全体表示
<Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0@hslpc24>

PIC32MXのベクトル演算
 のざわ  - 14/2/2(日) 18:30 -

引用なし
パスワード
   お世話になります。

良く判らないので質問させてください。

http://ww1.microchip.com/downloads/en/DeviceDoc/51685E.pdf

例えば、このマニュアルの103ページにあるmips_vec_add16ですが二つのベクトル列を足していますが、これって

一度に16bitの演算を2回やっているのでしょうか?

Nは4の倍数で4以上にしろと書いてあるので、なんらかのベクトル計算だと思うのですが、実際の所どうやっているか判らないです。

gcc環境のほうで、高速な16bitのQ形式の線形計算(+-X/)のベクトル演算をしたいのですが、参考になる資料を探していています。

何か資料はありませんでしょうか?
・ツリー全体表示
<Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0@60-62-121-56.rev.home.ne.jp>

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>

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:最適化で消えそう
 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>

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>

最適化で消えそう
 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: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>

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:CPUを交換したらどうなりますか?
 のざわ  - 14/1/22(水) 19:29 -

引用なし
パスワード
   >CPUを差し替えてみるというのはどうでしょう。

お世話になります。

差し替えてみると、差し替えた先では正常に動きますので
CPUは生きていて、ハンダ付けでも失敗しているのでしょう。

とりあえず動くのが3枚あるので、あれこれ実験には困りません。

ご指導、ありがとうございました。
・ツリー全体表示
<Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0@27-140-84-185.rev.home.ne.jp>

CPUを交換したらどうなりますか?
 nari  - 14/1/21(火) 21:37 -

引用なし
パスワード
   うまく動く基板と、動かない基板で
CPUを差し替えてみるというのはどうでしょう。

そうすると、基板が悪いのか、CPU(プログラムの書き込みも含む)
が悪いのかわかるのではないかと思います。

単純に、半田付け抜け、不良、部品間違いなどではないかと
思うのですが...
・ツリー全体表示
<Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0@hslpc19.local>

Re:PICMX220F032B基板について質問します。
 のざわ  - 14/1/21(火) 20:25 -

引用なし
パスワード
   追伸:

基板が4枚あって、1枚だけが点灯で、他は点滅します。

また、ブリンクも書き込めたようで、これの場合は、ゆっくり点滅します。

基板1枚は失敗したようですが、たぶん他はOKなんだと思います。

もう少し調べてみますが、とりあえず1段階クリアと言う所のようです。

ありがとう、ございます。
・ツリー全体表示
<Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0@27-140-84-185.rev.home.ne.jp>

Re:PICMX220F032B基板について質問します。
 のざわ  - 14/1/21(火) 20:16 -

引用なし
パスワード
   お世話になります。

http://hp.vector.co.jp/authors/VA000177/html/PIC32MX.html

この線に沿って作業してみました。

1)まずpic32progを改造しましたが、変化がありませんでした。

2)PIC32-Pinguino_HIDBoot_MX220.hexの9行目を差し替え

差し替えて、ボタンをガチャガチャやるとLEDが青色で点灯(点滅ではありません)しました。lsusbしても変化はありません。

ダメモトでpinguinnoのLEDのチカチカを書き込もうとすると

/opt/x.4/linux/p32/bin/ubw32 Error: UBW32 not found (is device attached and in Bootloader mode?)

と言うことで、ダメです。

3)HIDBoot_Mips32gcc.X.zipを試す。

HIDBoot_Mips32gcc.X.zipについているmain32.hexを試しに書き込んでみました。

ボタンをガチャガチャやらずとも、青色にLEDが光りました。しかしlsusbしても変化はありません。

ダメモトでpinguinnoのLEDのチカチカを書き込もうとすると

/opt/x.4/linux/p32/bin/ubw32 Error: UBW32 not found (is device attached and in Bootloader mode?)

と言うことで、ダメです。

とLEDが点灯(点滅では無い)するだけマシになりましたが、なんだか変です。

どうしたものか、お教えいただければと存じます。
・ツリー全体表示
<Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0@27-140-84-185.rev.home.ne.jp>

Re:USBケーブルを繋いで、やってみてください。
 のざわ  - 14/1/20(月) 21:11 -

引用なし
パスワード
   お世話になります。当方のパソコンの調子が悪く作業を中段していましたが再会しました。

まず、本体にPICKIT3と別途のUSBケーブルでPCに接続しUSB接続を見ると、こんな感じです。

nozawa@onsen:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 003 Device 002: ID 0a48:3239 I/O Interconnect Multimedia Card Reader
Bus 004 Device 002: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter
Bus 006 Device 003: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0
Bus 001 Device 006: ID 04d8:900a Microchip Technology, Inc. PICkit3
nozawa@onsen:~$

特にはUSB側からHIDとして認識してる様子が無いです。

で、LEDがチカチカしたりしませんので、28ピンと15ピンの電源電圧を確認しましたが、3.3Vと5Vで正常です。

もしかしてLEDの極性を間違って付けたんだろうか?と思い確認しましたが、LED内部の小さい電極が外側なので
問題無いんじゃないか?となりました。

書き込みに関しては書き込むと勝手にpic32progがベリファイまでやるので、問題無いと思っています。

他に何かチェックしたほうが良い事が、ございますでしょうか?

ご指南をお願い致します。
・ツリー全体表示
<Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0@27-140-84-185.rev.home.ne.jp>

1 / 19 ページ 前へ→
ページ:  ┃  記事番号:
60159
(SS)C-BOARD v3.8 is Free