hyena.TWLのsmall fix.

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@358 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yosiokat 2007-12-13 07:27:09 +00:00
parent 87902441b5
commit 280ed6f26b
2 changed files with 40 additions and 8 deletions

View File

@ -60,13 +60,17 @@ Autoload WRAM
Library libsdio_hcd_twl$(LIBSUFFIX).a \
libsdio_busdriver$(LIBSUFFIX).a \
libsdio_lib$(LIBSUFFIX).a \
libARM7athdrv$(LIBSUFFIX).a
Object * (.etable)
Object * (.wram)
Object * (.ltdwram)
Object $(OBJDIR)/main.o
# caches in fatfs library, that should be on WRAM.
# 2007/12/11 OBJECT() による .bss シンボルのリンクがうまくいかないので、
# 変数定義箇所に pragma で .ltdwram セクションに含まれるように暫定対策しました。
# Object OBJECT( FATFSi___mem_drives_structures , libfatfs_sp$(LIBSUFFIX).a) (.bss)
#####
# Sub-routines in WL library , that should be on WRAM.
# in TaskMan.o
@ -139,9 +143,9 @@ Ltdautoload LTDMAIN
Library librompatch_sp$(LIBSUFFIX).a \
libwm_sp$(LIBSUFFIX).a \
libnwm_sp$(LIBSUFFIX).a \
libARM7athdrv$(LIBSUFFIX).a \
libwvr_sp$(LIBSUFFIX).a \
libwl_sp$(LIBSUFFIX).a \
libwl_sp$(LIBSUFFIX).a
Library libfatfs_sp$(LIBSUFFIX).a \
$(USE_CRYPTO_LIBS)
Library $(ISDBG_LIBS_TWL)

View File

@ -54,10 +54,10 @@
/* [TODO] 以下は New WM 側に移行するほうが好ましい? */
#define NWM_DMANO 3
#define THREAD_PRIO_NWM_COMMMAND 6
#define THREAD_PRIO_NWM_EVENT 4
#define THREAD_PRIO_NWM_SDIO 5
#define THREAD_PRIO_NWM_WPA 7
#define THREAD_PRIO_NWM_COMMMAND 9
#define THREAD_PRIO_NWM_EVENT 7
#define THREAD_PRIO_NWM_SDIO 8
#define THREAD_PRIO_NWM_WPA 10
// ROM 内登録エリアの拡張言語コード
#define ROMHEADER_FOR_CHINA_BIT 0x80
@ -86,7 +86,6 @@ extern void SDK_LTDAUTOLOAD_LTDWRAM_BSS_END(void);
extern void SDK_LTDAUTOLOAD_LTDMAIN_BSS_END(void);
#endif
/*---------------------------------------------------------------------------*
Name: TwlSpMain
Description:
@ -191,6 +190,7 @@ TwlSpMain(void)
// カードがささっていたらブート開始
(void)HOTSW_Boot();
// SYSMi_GetWork()->is1stCardChecked = TRUE;
while (TRUE)
{
@ -356,10 +356,18 @@ InitializeCdc(void)
(void*)((u32)stack + (sizeof(u32) * 18)), sizeof(u32) * 18, OS_THREAD_PRIORITY_MAX);
OS_WakeupThreadDirect(&thread);
#if 1
// CODEC 初期化
CDC_Init();
CDC_InitMic();
// CDCi_DumpRegisters();
#else
/* [Debug] CODEC を DS モードで初期化 */
*((u8*)(HW_TWL_ROM_HEADER_BUF + 0x01bf)) &= ~(0x01);
CDC_Init();
CDC_GoDsMode();
OS_TPrintf("Codec mode changed to DS mode for debug.\n");
#endif
// ダミースレッド破棄
OS_KillThread(&thread, NULL);
@ -432,6 +440,14 @@ InitializeAllocateSystem(void)
OS_Panic("ARM7: Failed to create MAIN heap.\n");
}
// ヒープサイズの確認
{
u32 heapSize;
heapSize = (u32)OS_CheckHeap(OS_ARENA_MAIN_SUBPRIV, hh);
OS_TPrintf("ARM7: MAIN heap size is %d (before AddToHead)\n", heapSize);
}
// ヒープに拡張ブロックを追加
OS_AddToHeap(OS_ARENA_MAIN_SUBPRIV, hh, extraLo, extraHi);
}
@ -506,6 +522,18 @@ InitializeAllocateSystem(void)
OS_Panic("ARM7: Failed to WRAM create heap.\n");
}
// ヒープサイズの確認
{
u32 heapSize;
heapSize = (u32)OS_CheckHeap(OS_ARENA_WRAM_SUBPRIV, hh);
if (WM_WL_HEAP_SIZE > heapSize)
{
OS_Panic("Insufficient heap size. (0x%x < 0x%x)\n", heapSize, WM_WL_HEAP_SIZE);
}
OS_TPrintf("ARM7: WRAM heap size is %d (before AddToHeap)\n", heapSize);
}
// ヒープに拡張ブロックを追加
OS_AddToHeap(OS_ARENA_WRAM_SUBPRIV, hh, extraLo, extraHi);
}