AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
AG903_SPCPrmSetFcsCtrl 関数

SPCFCS_CTRLのレジスタWrite

Syntax
C++
void AG903_SPCPrmSetFcsCtrl(uint8_t slf_refresh, uint8_t pll0_rst, uint8_t cpu_msk, uint8_t enable);
引数 
説明 
uint8_t slf_refresh 
[in] FCSシーケンス中のDDRセルフリフレッシュ制御
(true=セルフリフレッシュコマンドを使用する。false=使用しない。) 
uint8_t pll0_rst 
[in] FCSシーケンス中のPLL0をリセット制御
(true==PLL0をリセットする。falseリセットしない。) 
uint8_t cpu_msk 
[in] FCSシーケンスを行っているCPU
(2:Cortex-A5 3:外付けCPU その他の値:設定禁止) 
uint8_t enable 
[in] FCS制御 (true=実行) 

void

SPCFCS_CTRLのレジスタWrite

FCSシーケンスに従って設定して下さい。 

システム起動の初期段階で実行されることを前提としています。

1: void AG903_SPCPrmSetFcsCtrl(uint8_t slf_refresh, uint8_t pll0_rst, uint8_t cpu_msk, uint8_t enable) 2: { 3: uint32_t val = 0; 4: 5: ASSERT(2 == cpu_msk || 3 == cpu_msk); 6: 7: if(false == slf_refresh) { 8: val |= (uint32_t)(1 << AG903_SPC_FCS_CTRL_SELFR_CMD_OFF_POS); 9: } 10: if(false == pll0_rst) { 11: val |= (uint32_t)(1 << AG903_SPC_FCS_CTRL_FCS_PLL0_RSTn_POS); 12: } 13: val |= ((cpu_msk>>0 & 0x1) << AG903_SPC_FCS_CTRL_CPU_MASK_POS); 14: val |= ((cpu_msk>>1 & 0x1) << AG903_SPC_FCS_CTRL_CPU_MASK2_POS); 15: if(true == enable) { 16: val |= (uint32_t)(1 << AG903_SPC_FCS_CTRL_FCS_POS); 17: } 18: AG903_SPC->FCS_CTRL = val; 19: 20: return; 21: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.