12半音階によるトーン生成
Rev. | 05c64c80a10b324b375562a6070f403efa4d0028 |
---|---|
Size | 14,291 bytes |
Time | 2013-06-03 23:41:51 |
Author | suikan |
Log Message | 最初のコミット |
/*
* Blackfin Core MMR定義ファイル。
*
* このファイルはGDBでのデバッグの支援用に開発したものである。GCC環境での開発に用いても構わないが、
* VisualDSP++への移行は少々複雑になる。また、開発に使うための検証は行っていない。
*
* アドレスの正しさの検証は、以下の比較によって行っている。
*
$ readelf -s -W jsp | grep mmr | grep -v DUMMY | grep -v blackfin | sort -k 2 | awk '/_mmr/{print $8, $2}' - | sed 's/_mmr//p' | uniq > regelf.txt
$ cat ../jsp/config/blackfin/def_lpblackfin.h ../jsp/config/blackfin/defbf532.h | grep '0xFF[CE]0' | grep "#define" | sed 's/_MA /_MAP /' - | awk '{print $2,$3}' - | sort -k 2 | sed 's/0x//' - > regdef.txt
$ diff -i -w regelf.txt regdef.txt 24a25,27
> RTC_PREN FFC00314
> UART_DLL FFC00400
> UART_RBR FFC00400
25a29
> UART_DLH FFC00404
123a128
> DMA_TCPER FFC00B0C
124a130
> DMA_TCCNT FFC00B10
288a295
> DCPLB_FAULT_STATUS FFE00008
326a334
> CODE_FAULT_STATUS FFE01008
327a336
> CODE_FAULT_ADDR FFE0100C
*
* 得られた結果では、def_lpblackfin.hにある3つのレジスタがcore_mmr.cでは無視されていることを指摘している。
* これらのレジスタはエイリアスであり、同じアドレスに別レジスタがあるので、この結果で正しい。
*
*/
volatile void * volatile mmrSRAM_BASE_ADDRESS __attribute__ ((aligned(4), section("DMEMCTL")));
volatile unsigned long mmrDMEM_CONTROL __attribute__ ((aligned(4), section("DMEMCTL")));
volatile unsigned long mmrDCPLB_STATUS __attribute__ ((aligned(4), section("DMEMCTL")));
volatile void * volatile mmrDCPLB_FAULT_ADDR __attribute__ ((aligned(4), section("DMEMCTL")));
volatile void * volatile mmrDCPLB_ADDR0 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR1 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR2 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR3 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR4 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR5 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR6 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR7 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR8 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR9 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR10 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR11 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR12 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR13 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR14 __attribute__ ((aligned(4), section("DCPLBA")));
volatile void * volatile mmrDCPLB_ADDR15 __attribute__ ((aligned(4), section("DCPLBA")));
volatile unsigned long mmrDCPLB_DATA0 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA1 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA2 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA3 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA4 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA5 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA6 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA7 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA8 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA9 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA10 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA11 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA12 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA13 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA14 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDCPLB_DATA15 __attribute__ ((aligned(4), section("DCPLBD")));
volatile unsigned long mmrDTEST_COMMAND __attribute__ ((aligned(4), section("DTESTC")));
volatile unsigned long mmrDTEST_DATA0 __attribute__ ((aligned(4), section("DTESTD")));
volatile unsigned long mmrDTEST_DATA1 __attribute__ ((aligned(4), section("DTESTD")));
volatile unsigned long mmrIMEM_DUMMY __attribute__ ((aligned(4), section("IMEMCTL")));
volatile unsigned long mmrIMEM_CONTROL __attribute__ ((aligned(4), section("IMEMCTL")));
volatile unsigned long mmrICPLB_STATUS __attribute__ ((aligned(4), section("IMEMCTL")));
volatile void * volatile mmrICPLB_FAULT_ADDR __attribute__ ((aligned(4), section("IMEMCTL")));
volatile void * volatile mmrICPLB_ADDR0 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR1 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR2 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR3 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR4 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR5 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR6 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR7 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR8 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR9 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR10 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR11 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR12 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR13 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR14 __attribute__ ((aligned(4), section("ICPLBA")));
volatile void * volatile mmrICPLB_ADDR15 __attribute__ ((aligned(4), section("ICPLBA")));
volatile unsigned long mmrICPLB_DATA0 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA1 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA2 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA3 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA4 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA5 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA6 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA7 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA8 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA9 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA10 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA11 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA12 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA13 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA14 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrICPLB_DATA15 __attribute__ ((aligned(4), section("ICPLBD")));
volatile unsigned long mmrITEST_COMMAND __attribute__ ((aligned(4), section("ITESTC")));
volatile unsigned long mmrITEST_DATA0 __attribute__ ((aligned(4), section("ITESTD")));
volatile unsigned long mmrITEST_DATA1 __attribute__ ((aligned(4), section("ITESTD")));
volatile void * volatile mmrEVT0 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT1 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT2 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT3 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT4 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT5 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT6 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT7 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT8 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT9 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT10 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT11 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT12 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT13 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT14 __attribute__ ((aligned(4), section("EVT")));
volatile void * volatile mmrEVT15 __attribute__ ((aligned(4), section("EVT")));
volatile unsigned long mmrIDUMMY __attribute__ ((aligned(4), section("CEC")));
volatile unsigned long mmrIMASK __attribute__ ((aligned(4), section("CEC")));
volatile unsigned long mmrIPEND __attribute__ ((aligned(4), section("CEC")));
volatile unsigned long mmrILAT __attribute__ ((aligned(4), section("CEC")));
volatile unsigned long mmrIPRIO __attribute__ ((aligned(4), section("CEC")));
volatile unsigned long mmrTCNTL __attribute__ ((aligned(4), section("CTMR")));
volatile unsigned long mmrTPERIOD __attribute__ ((aligned(4), section("CTMR")));
volatile unsigned long mmrTSCALE __attribute__ ((aligned(4), section("CTMR")));
volatile unsigned long mmrTCOUNT __attribute__ ((aligned(4), section("CTMR")));
volatile unsigned long mmrDSPID __attribute__ ((aligned(4), section("DBG")));
volatile unsigned short mmrDBGDUMMY __attribute__ ((aligned(4), section("DBG")));
volatile unsigned long mmrDBGSTAT __attribute__ ((aligned(4), section("DBG")));
volatile unsigned long mmrTBUFCTL __attribute__ ((aligned(4), section("TBCTL")));
volatile unsigned long mmrTBUFSTAT __attribute__ ((aligned(4), section("TBCTL")));
volatile void * volatile mmrTBUF __attribute__ ((aligned(4), section("TBUF")));
volatile unsigned long mmrWPIACTL __attribute__ ((aligned(4), section("WPICTL")));
volatile void * volatile mmrWPIA0 __attribute__ ((aligned(4), section("WPIADDR")));
volatile void * volatile mmrWPIA1 __attribute__ ((aligned(4), section("WPIADDR")));
volatile void * volatile mmrWPIA2 __attribute__ ((aligned(4), section("WPIADDR")));
volatile void * volatile mmrWPIA3 __attribute__ ((aligned(4), section("WPIADDR")));
volatile void * volatile mmrWPIA4 __attribute__ ((aligned(4), section("WPIADDR")));
volatile void * volatile mmrWPIA5 __attribute__ ((aligned(4), section("WPIADDR")));
volatile unsigned long mmrWPIACNT0 __attribute__ ((aligned(4), section("WPICNT")));
volatile unsigned long mmrWPIACNT1 __attribute__ ((aligned(4), section("WPICNT")));
volatile unsigned long mmrWPIACNT2 __attribute__ ((aligned(4), section("WPICNT")));
volatile unsigned long mmrWPIACNT3 __attribute__ ((aligned(4), section("WPICNT")));
volatile unsigned long mmrWPIACNT4 __attribute__ ((aligned(4), section("WPICNT")));
volatile unsigned long mmrWPIACNT5 __attribute__ ((aligned(4), section("WPICNT")));
volatile unsigned long mmrWPDACTL __attribute__ ((aligned(4), section("WPDCTL")));
volatile void * volatile mmrWPDA0 __attribute__ ((aligned(4), section("WPDADDR")));
volatile void * volatile mmrWPDA1 __attribute__ ((aligned(4), section("WPDADDR")));
volatile unsigned long mmrWPDACNT0 __attribute__ ((aligned(4), section("WPDCNT")));
volatile unsigned long mmrWPDACNT1 __attribute__ ((aligned(4), section("WPDCNT")));
volatile unsigned long mmrWPSTAT __attribute__ ((aligned(4), section("WPSTAT")));
volatile unsigned long mmrPFCTL __attribute__ ((aligned(4), section("PFCTL")));
volatile unsigned long mmrPFCNTR0 __attribute__ ((aligned(4), section("PFCNT")));
volatile unsigned long mmrPFCNTR1 __attribute__ ((aligned(4), section("PFCNT")));