(toppers-users 3934) Re: FMP¥µ¥ó¥×¥ë¼Â¹Ô¤Ë´Ø¤¹¤ë¥Ñ¥é¥á¥¿ÀßÄê

Shinya Honda honda ¡÷ ertl.jp
2012ǯ 3·î 1Æü (ÌÚ) 13:48:00 JST


³ëºä¤µ¤ó

ËÜÅĤǤ¹¡¥

¥á¥â¥ê¥Þ¥Ã¥×¤ò¸«¤ë¤È¡¤¥Ù¥¯¥¿¡¼¥¢¥É¥ì¥¹¤¬0x00000000¤«¤éÇÛÃÖ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Ç
¤¹¤Í¡¥KAM-CA9¤Ï¥Ï¡¼¥É¥¦¥§¥¢¤Î¥ê¥Þ¥Ã¥×µ¡Ç½¤ÇDDR¤ò0x00000000¤ËÇÛÃÖ¤·¤Æ»È¤Ã
¤Æ¤¤¤Þ¤¹¡¥

kzm_ca9_gcc/target_config.c ¤Î60¹ÔÌܤ«¤é¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Æ²¼¤µ¤¤¡¥

DDR_SIZE¤ÏºÇ½ªÅª¤Ë¤Ï¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¥â¥Ç¥ë¤ÎÀßÄê¤Ë¹ç¤ï¤»¤Æ²¼¤µ¤¤¡¥

----------------------------------------------------------------------
/*
 * ¥á¥â¥ê¤Î¥Ù¡¼¥¹¥¢¥É¥ì¥¹¤È¥µ¥¤¥º
 */
#define DDR_ADDR 0x60000000
#define DDR_SIZE 0x04000000 /* 64MB */


/*
 * ¥á¥â¥ê¥Þ¥Ã¥×¤Î½é´ü²½¡Êchip°Í¸Éô¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë¡Ë
 * Ʊ»þ¤Ë¥­¥ã¥Ã¥·¥å¤âÍ­¸ú¤Ë¤¹¤ë
 */
void
target_mmu_init(void)
{
	MEMORY_ATTRIBUTE m_attribute;

	/*
	 *  Enable caching for the DDR
	 */
	m_attribute.pa   = DDR_ADDR;
	m_attribute.va   = m_attribute.pa;
	m_attribute.size = DDR_SIZE;
	m_attribute.s    = 1;		  /* ¶¦Í­		 */
	m_attribute.ap   = 3;		  /* ¥Õ¥ë¥¢¥¯¥»¥¹ */
	m_attribute.tex  = 1;		  /* Outer and Inner */
	m_attribute.c    = 1;		  /* Inner Write-Back, Write Allocate */
	m_attribute.b    = 1;

	mmu_map_memory(&m_attribute);

	/*
	 *  ¥Ù¥¯¥¿¡¼¥Æ¡¼¥Ö¥ë¤ò0x0000¤ËÃÖ¤¯¤¿¤á¡¤DDR¤ò
	 *  0x0000¤«¤éÇÛÃÖ¤¹¤ë
	 */
	m_attribute.pa   = DDR_ADDR;
	m_attribute.va   = 0x00000000;
	m_attribute.size = DDR_SIZE;
	m_attribute.ap   = 3;          /* ¥Õ¥ë¥¢¥¯¥»¥¹ */
	m_attribute.tex  = 1;          /* Outer and Inner */
	m_attribute.c    = 1;          /* Inner Write-Back, Write Allocate */
	m_attribute.b    = 1;

	mmu_map_memory(&m_attribute);
}

°Ê¾å¡¤¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡¥

(2012/03/01 13:10), masato.kuzusaka.bh ¡÷ hitachi.com wrote:
> ËÜÅÄÍÍ
> 
> ³ëºä¤Ç¤¹¡£
> ÁáµÞ¤Ê²óÅú´¶¼Õ¤¤¤¿¤·¤Þ¤¹¡£
> 
>> 1. arm-none-eabi-nm.exe -n fmp.exe ¤Î¼Â¹Ô·ë²Ì
> źÉÕ(arm-none-eabi-nm.txt)Ãפ·¤Þ¤·¤¿¡£
> 
>> 2. ¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¥â¥Ç¥ë¤ÎUART0¤Î³ä¹þ¤ßÈÖ¹æ
> Cortex-A9MP¤ÎSPI84¤ËÀܳ¤·¤Æ¤ª¤ê¤Þ¤¹¡£
> 
>> 3. fmp.exe¤ÈƱ¤¸¥Õ¥©¥ë¥À¤Ë¤¢¤ëkernel_cfg.c¤Î _kernel_prc1_inh_table[]¤Î
>>    ÆâÍÆ¡¥
> źÉÕ(kernel_prc1_inh_table.txt)Ãפ·¤Þ¤·¤¿¡£
> 
>> 4. _kernel_irq_handler ¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÃÖ¤¤¤Æ¡¤FMP¤ò¼Â¹Ô¤·¤Æ¡¤
>>    _kernel_irq_handler ¤¬¼Â¹Ô¤µ¤ì¤ë¤«¡¥
> kernel_irq_handler¤Ë¤ÏÆþ¤Ã¤Æ¤¤¤Ê¤¤¤è¤¦¤Ç¤¹¡£
> 
> °Ê¾å¤ª¼ê¿ô¤ò¤ª³Ý¤±¤·¤Æ¶²½Ì¤Ç¤¹¤¬¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
> 
> 
>> Á÷¿®¼Ô: honda ¡÷ ertl.jp
>> ¼çÂê: Re: (toppers-users 3930) Re: FMP¥µ¥ó¥×¥ë¼Â¹Ô¤Ë´Ø¤¹¤ë¥Ñ¥é¥á¥¿ÀßÄê
>> ¼õ¿®Æü: 12/03/01 12:35
>> °À­: ¤Ê¤·
>>
>> ³ëºä¤µ¤ó
>>
>> ËÜÅĤǤ¹¡¥
>>
>> (2012/03/01 11:44), masato.kuzusaka.bh ¡÷ hitachi.com wrote:
>>> ¾¯¤·¿Ê¤ß¤Þ¤·¤Æ¡¢°Ê²¼¤Ç»ß¤Þ¤Ã¤Æ¤¤¤ë¾õÂ֤Ǥ¹¡£
>>> (#define TASK_LOOP 1000ÄêµÁºÑ)
>>>
>>> :
>>> local_inirtn exinf = 1, counter = 1
>>> System logging task is started on port 1.
>>>
>>>
>>> ¥Ç¥Ð¥Ã¥¬¤Ç³Îǧ¤·¤¿¤È¤³¤í¡¢sampe1.c¤Îmain_task´Ø¿ô¤Ç²¿¤é¤«¤Î
>>> ¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£do¥ë¡¼¥×¤Ë¤ÏÆþ¤Ã¤Æ¤¤¤Þ¤¹¡£
>>>
>>> ¤Á¤ç¤Ã¤È²ò¤é¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
>>> main_task´Ø¿ô¤ÎÀèÆ¬¤Ç°Ê²¼¤Î¥¹¥Æ¥Ã¥×¤Ç¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ¤¤¤ë¤â¤Î¤È»×¤ï¤ì¤Þ¤¹¤¬
>>> UART¤Î½ÐÎϤˤϽФƤ­¤Æ¤¤¤Þ¤»¤ó¡£
>>> ºÇ½é¤Îµ¯Æ°¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Æ¤¤¤ì¤Ð½Ð¤ë¤Ï¤º¤È¤Îǧ¼±¤Ç¤¹¤¬°ã¤¤¤Þ¤¹¤«¡©
>>>
>>> syslog(LOG_NOTICE, "Sample program starts (exinf = %d).", (int_t) exinf);
>> main_task´Ø¿ô¤ÎÀèÆ¬¤Î¥í¥°½ÐÎϤ«¤é¤Ï¡¤¥í¥°¥¿¥¹¥¯·Ðͳ¤Î½ÐÎϤˤʤê¤Þ¤¹¡¥¥í
>> ¥°¥¿¥¹¥¯·Ðͳ¤Î½ÐÎϤˤϡ¤³ä¹þ¤ß¤¬Àµ¤·¤¯ÀßÄꤵ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡ÊľÁ°
>> ¤Î"SVC_PERROR(syslog_msk_log.."¤ÇÀÚ¤êÂØ¤¨¤Æ¤¤¤Þ¤¹¡Ë¡¥
>>
>> ¸½¾õ¤Î¾õ¶·¤«¤é³ä¹þ¤ß´ØÏ¢¤ÎÀßÄ꤬Àµ¤·¤¯¤Ê¤¤²ÄǽÀ­¤¬¹â¤¤¤Ç¤¹¡¥
>>
>> °Ê²¼¤ò¾ðÊó¤ò¤â¤é¤¨¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡¥
>>
>> 1. arm-none-eabi-nm.exe -n fmp.exe ¤Î¼Â¹Ô·ë²Ì
>> 2. ¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¥â¥Ç¥ë¤ÎUART0¤Î³ä¹þ¤ßÈÖ¹æ
>> 3. fmp.exe¤ÈƱ¤¸¥Õ¥©¥ë¥À¤Ë¤¢¤ëkernel_cfg.c¤Î _kernel_prc1_inh_table[]¤Î
>>    ÆâÍÆ¡¥
>>
>> ¤Þ¤¿¡¤¥Ç¥Ð¥Ã¥¬¤¬»È¤¨¤ë¤è¤¦¤Ç¤·¤¿¤é¡¤¼¡¤Î»ö¹à¤ò³Îǧ¤·¤Æ²¼¤µ¤¤¡¥
>>
>> 4. _kernel_irq_handler ¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤òÃÖ¤¤¤Æ¡¤FMP¤ò¼Â¹Ô¤·¤Æ¡¤
>>    _kernel_irq_handler ¤¬¼Â¹Ô¤µ¤ì¤ë¤«¡¥
>>
>> °Ê¾å¡¤¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡¥
>>
>>>
>>> °Ê¾å¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
>>>
>>>> Á÷¿®¼Ô: honda ¡÷ ertl.jp
>>>> ¼çÂê: Re: (toppers-users 3930) Re: FMP¥µ¥ó¥×¥ë¼Â¹Ô¤Ë´Ø¤¹¤ë¥Ñ¥é¥á¥¿ÀßÄê
>>>> ¼õ¿®Æü: 12/03/01 10:24
>>>> °À­: ¤Ê¤·
>>>>
>>>> ³ëºäÍÍ
>>>>
>>>> ËÜÅĤǤ¹¡¥
>>>>
>>>> µ¯Æ°¤Ï¾å¼ê¤¯¤¤¤Ã¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡¥
>>>>
>>>> ¤³¤Î¸å¤Ï²¿¤â½ÐÎϤµ¤ì¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©
>>>>
>>>> ¤³¤Î¸åưºî¤¹¤ë¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ç¤Ï¡¤°ìÄê»þ´Ö¤Î¥Ó¥¸¡¼¥ë¡¼¥×¤Î¸å¡¤¥¿¥¹¥¯
>>>> ¤¬¥í¥°¤ò½ÐÎϤ·¤Þ¤¹¡¥
>>>>
>>>> ¥·¥ß¥å¥ì¡¼¥·¥ç¥ó´Ä¶­¤Ç¤¹¤È¥Ó¥¸¡¼¥ë¡¼¥×¤¬Ä¹¤¹¤®¤ë¾ì¹ç¤¬¤¢¤ë¤Î¤Ç¡¤
>>>> sampe1.c ¤ÎÀèÆ¬¤Ç
>>>>
>>>> #define TASK_LOOP 1000
>>>>
>>>> ¤ÈÄêµÁ¤¹¤ë¤ÈÎɤ¤¤«¤È»×¤¤¤Þ¤¹¡¥1000¤Ï¡¤½ÐÎϤμþ´ü¤Ë¹ç¤ï¤»¤ÆÄ´À°¤·¤Æ²¼¤µ¤¤¡¥
>>>>
>>>> °Ê¾å¡¤¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡¥
>>>>
>>>> (2012/02/29 16:19), masato.kuzusaka.bh ¡÷ hitachi.com wrote:
>>>>> ËÜÅÄÍÍ¡¢¤ß¤Ê¤µ¤Þ
>>>>>
>>>>> ÆüΩ¾ðÊóÄÌ¿®¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°(³ô)¤Î³ëºä¤Ç¤¹¡£
>>>>> ¤ªÀ¤ÏäˤʤäƤ¤¤Þ¤¹¡£
>>>>>
>>>>> #´Öȱ¤¤¤ì¤º¤Ë¤¹¤ß¤Þ¤»¤ó¡£
>>>>>
>>>>> ²¾Á۴Ķ­¤ÇFMP¤Î¥µ¥ó¥×¥ë¤¬µ¯Æ°¤·²¾ÁÛUART¤Ë°Ê²¼¤Î¥á¥Ã¥»¡¼¥¸¤¬½Ð¤Þ¤·¤¿¡£
>>>>> FMP¤Î¥µ¥ó¥×¥ë¤ÎÀµ¤·¤¤Æ°¤­¤¬¤ï¤«¤é¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¤³¤ì¤ÏÀµ¤·¤¯Æ°ºî¤·¤Æ
>>>>> ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
>>>>>
>>>>>
>>>>> TOPPERS/FMP Kernel Release 1.2.0 for KZM_CA9(MPCORE) (Feb 29 2012, 16:05:03)
>>>>>
>>>>> Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
>>>>>
>>>>>                                Toyohashi Univ. of Technology, JAPAN
>>>>>
>>>>> Copyright (C) 2004-2011 by Embedded and Real-Time Systems Laboratory
>>>>>
>>>>>                Graduate School of Information Science, Nagoya Univ., JAPAN
>>>>>
>>>>>
>>>>>
>>>>> Processor 1 start.
>>>>>
>>>>> local_inirtn exinf = 1, counter = 1
>>>>>
>>>>> °Ê¾å¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
>>>>>
>>>>>> Á÷¿®¼Ô: ³ëºä¡²¾­¿Í
>>>>>> ¼çÂê: (toppers-users 3929)FMP¥µ¥ó¥×¥ë¼Â¹Ô¤Ë´Ø¤¹¤ë¥Ñ¥é¥á¥¿ÀßÄê
>>>>>> ¼õ¿®Æü: 12/02/29 15:42
>>>>>> °À­: ¤Ê¤·
>>>>>>
>>>>>> ËÜÅÄÍÍ¡¢¤ß¤Ê¤µ¤Þ
>>>>>>
>>>>>> ÆüΩ¾ðÊóÄÌ¿®¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°(³ô)¤Î³ëºä¤Ç¤¹¡£
>>>>>> ¤ªÀ¤ÏäˤʤäƤ¤¤Þ¤¹¡£
>>>>>>
>>>>>> KZM-CA9-01²¾Á۴Ķ­¤Ë¤ÆFMP¥µ¥ó¥×¥ë¤Î¼Â¹Ô¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
>>>>>> ¸½ºß¡¢¥³¥Þ¥ó¥É¥È¥ì¡¼¥¹¤Ç¼Â¹Ô·ë²Ì¤ò¸«¤Æ¤¤¤Þ¤¹¤¬¡¢
>>>>>> kzm_ca9.cÆâ¤ÎUART¤Î½é´ü²½½èÍý¡§kzm_ca9_uart_init()¤òÈ´¤±¤Ê¤¤¤Ç¤¤¤ë¾õ¶·¤Ç¤¹¡£
>>>>>>
>>>>>> UART¤Î½é´ü²½½èÍý¤Ï³ä¤ê¹þ¤ß¤Ê¤É¤¬Íí¤ó¤Ç¤¯¤ë¤¿¤á¡¢¥Á¥Ã¥×¤Î
>>>>>> ÀßÄê¤ò³Îǧ¤·¤è¤¦¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£
>>>>>>
>>>>>> ¤½¤³¤Ç¼ÁÌä¤Ê¤Î¤Ç¤¹¤¬¡¢²¾Á۴Ķ­¤Î¥Á¥Ã¥×¤Î¥×¥í¥Ñ¥Æ¥£¤Ï
>>>>>> KZM-CA9-01¤Î»ÅÍÍÄ̤ꡢCortex-A9 MPCore¡ß4¤ÎÀßÄê¤ò¤·¤Æ¤ª¤ê¤Þ¤¹¡£
>>>>>>
>>>>>> FMP¤Î¥µ¥ó¥×¥ë¤òºîÀ®¤¹¤ëºÝ¤ËɬÍפȤʤë¥Ñ¥é¥á¥¿¤Ë´Ø¤·¡¢
>>>>>> ¸½ºß¤Ï¡¢°Ê²¼¤ÎÀßÄê¤ò¤·¤Æ¤¤¤Þ¤¹¡£
>>>>>> Makefile¡§
>>>>>> ¡¡¡¡PRC_NUM = 1
>>>>>> ¡¡¡¡ENABLE_G_SYSLOG = true
>>>>>>
>>>>>> ¤³¤ì¤é¤Î¾¤Ë²¿¤«É¬ÍפÊÀßÄê¤Ï¤´¤¶¤¤¤Þ¤¹¤Ç¤·¤ç¤¦¤«¡£
>>>>>>
>>>>>> MPCore°Í¸Éô¥Þ¥Ë¥å¥¢¥ë¤ò¸«¤ë¤È¡¢__TARGET_ARCH_ARM¥Þ¥¯¥í¤ä
>>>>>> TMPRC_INDEX¥Þ¥¯¥í¡¢MPCORE_PMR_BASE¥Þ¥¯¥í¤ÎÀßÄ꤬ɬÍפÎ
>>>>>> ¤è¤¦¤Ç¤¹¤¬¡¢¤É¤³¤ËÄêµÁ¤¹¤ì¤ÐÎɤ¤¤Î¤Ç¤·¤ç¤¦¤«¡£
>>>>>>
>>>>>> °Ê¾å¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>