#ifdef cplusplus extern "C" { #endif // 常量本部分内容定义了一些常量. #define DebugOut Uart_Printf

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "#ifdef cplusplus extern "C" { #endif // 常量本部分内容定义了一些常量. #define DebugOut Uart_Printf"

Transcript

1 嵌入式系统开发与应用教程 / 第五章 1. 嵌入式系统开发与应用教程 / 第五章 /5.3 嵌入式 C 语言程序设计基础 / 例程一 44blib.h 例程一 : 44blib.h 以下是 44blib.h 的定义 : /********************************************************************** * File: 44BLIB.H * Desc: Samsung 44B0X CPU function declare and common define **********************************************************************/ #ifndef 44BLIB_H #define 44BLIB_H #ifdef cplusplus extern "C" #endif // 常量本部分内容定义了一些常量 #define DebugOut Uart_Printf #define min(x1,x2) ((x1<x2)? x1:x2) #define max(x1,x2) ((x1>x2)? x1:x2) #define ONESEC0 (62500) //16us resolution, max 1.04 sec #define ONESEC1 (31250) //32us resolution, max 2.09 sec #define ONESEC2 (15625) //64us resolution, max 4.19 sec #define ONESEC3 (7812) //128us resolution, max 8.38 sec #define ONESEC4 (MCLK/128/(0xff+1)) //@60Mhz, 128*4us resolution, max sec #define NULL 0 #define EnterPWDN(clkcon) ((void (*)(int))0xe0)(clkcon) #define DOWNLOAD_ADDRESS _RAM_STARTADDRESS /* 8led control register address */ #define LED8ADDR (*(volatile unsigned char *)(0x )) #define LCD 0xFF #define UART 0xFE /*44blib.c 本部分内容对开发中用到的一些库函数作函数原型定义 */ void Delay(int time); //Watchdog Timer is used. void DelayMs(int ms_time); void *malloc(unsigned nbyte); void free(void *pt); void Port_Init(void); void Cache_Flush(void);

2 void ChangeMemCon(unsigned *pmemcfg); void Uart_Select(int ch); void Uart_TxEmpty(int ch); void Uart_Init(int mclk,int baud); char Uart_Getch(void); char Uart_GetKey(void); int Uart_GetIntNum(void); void Uart_SendByte(int data); void Uart_Printf(char *fmt,...); void Uart_SendString(char *pt); void Timer_Start(int divider); //Watchdog Timer is used. int Timer_Stop(void); //Watchdog Timer is used. void Led_Display(int LedStatus); void Beep(int BeepStatus); void ChangePllValue(int m,int p,int s); #ifdef cplusplus #endif #endif /* 44BLIB_H */ * "44b.h" 主要是用宏的方式定义了程序中所需的 44B0X 片上涉及到各模块中各寄存器的宏定义的地址 * "44b.h" 内容如下所示 : /****************************************************************************** * File: 44B.H * Desc: Samsung 44B0X CPU register define ******************************************************************************/ #ifndef 44B0X_H #define 44B0X_H #ifdef cplusplus extern "C" #endif #include "option.h" /* System 本部分内容定义了 44b0 的系统配置寄存器地址 */ #define rsyscfg (*(volatile unsigned *)0x1c00000) /* Cache 本部分定义了 44b0 中 2 个不可作 Cache 存储区的起始与结束地址的寄存器的地址 */ #define rncachbe0 (*(volatile unsigned *)0x1c00004) #define rncachbe1 (*(volatile unsigned *)0x1c00008) /* Bus control

3 本部分定义了 44b0 中存储总线控制器的优先级的寄存器地址 */ #define rsbuscon (*(volatile unsigned *)0x1c40000) /* Memory control 本部分定义了 44b0 中与存储器相关的寄存器地址 */ #define rbwscon (*(volatile unsigned *)0x1c80000) #define rbankcon0 (*(volatile unsigned *)0x1c80004) #define rbankcon1 (*(volatile unsigned *)0x1c80008) #define rbankcon2 (*(volatile unsigned *)0x1c8000c) #define rbankcon3 (*(volatile unsigned *)0x1c80010) #define rbankcon4 (*(volatile unsigned *)0x1c80014) #define rbankcon5 (*(volatile unsigned *)0x1c80018) #define rbankcon6 (*(volatile unsigned *)0x1c8001c) #define rbankcon7 (*(volatile unsigned *)0x1c80020) #define rrefresh (*(volatile unsigned *)0x1c80024) #define rbanksize (*(volatile unsigned *)0x1c80028) #define rmrsrb6 (*(volatile unsigned *)0x1c8002c) #define rmrsrb7 (*(volatile unsigned *)0x1c80030) /* UART 本部分定义了 44b0 中与 UART 相关的寄存器地址 */ #define rulcon0 (*(volatile unsigned *)0x1d00000) #define rulcon1 (*(volatile unsigned *)0x1d04000) #define rucon0 (*(volatile unsigned *)0x1d00004) #define rucon1 (*(volatile unsigned *)0x1d04004) #define rufcon0 (*(volatile unsigned *)0x1d00008) #define rufcon1 (*(volatile unsigned *)0x1d04008) #define rumcon0 (*(volatile unsigned *)0x1d0000c) #define rumcon1 (*(volatile unsigned *)0x1d0400c) #define rutrstat0 (*(volatile unsigned *)0x1d00010) #define rutrstat1 (*(volatile unsigned *)0x1d04010) #define ruerstat0 (*(volatile unsigned *)0x1d00014) #define ruerstat1 (*(volatile unsigned *)0x1d04014) #define rufstat0 (*(volatile unsigned *)0x1d00018) #define rufstat1 (*(volatile unsigned *)0x1d04018) #define rumstat0 (*(volatile unsigned *)0x1d0001c) #define rumstat1 (*(volatile unsigned *)0x1d0401c) #define rubrdiv0 (*(volatile unsigned *)0x1d00028) #define rubrdiv1 (*(volatile unsigned *)0x1d04028) #ifdef BIG_ENDIAN #define rutxh0 #define rutxh1 #define rurxh0 #define rurxh1 // 当系统定义为大端存储模式时各寄存器的地址 (*(volatile unsigned char *)0x1d00023) (*(volatile unsigned char *)0x1d04023) (*(volatile unsigned char *)0x1d00027) (*(volatile unsigned char *)0x1d04027)

4 #define WrUTXH0(ch) (*(volatile unsigned char *)(0x1d00023))=(unsigned char)(ch) #define WrUTXH1(ch) (*(volatile unsigned char *)(0x1d04023))=(unsigned char)(ch) #define RdURXH0() (*(volatile unsigned char *)(0x1d00027)) #define RdURXH1() (*(volatile unsigned char *)(0x1d04027)) #define UTXH0 (0x1d ) //byte_access address by BDMA #define UTXH1 (0x1d ) #define URXH0 (0x1d ) #define URXH1 (0x1d ) #else //Little Endian // 当系统定义为小端存储模式时各寄存器的地址 #define rutxh0 (*(volatile unsigned char *)0x1d00020) #define rutxh1 (*(volatile unsigned char *)0x1d04020) #define rurxh0 (*(volatile unsigned char *)0x1d00024) #define rurxh1 (*(volatile unsigned char *)0x1d04024) #define WrUTXH0(ch) (*(volatile unsigned char *)0x1d00020)=(unsigned char)(ch) #define WrUTXH1(ch) (*(volatile unsigned char *)0x1d04020)=(unsigned char)(ch) #define RdURXH0() (*(volatile unsigned char *)0x1d00024) #define RdURXH1() (*(volatile unsigned char *)0x1d04024) #define UTXH0 (0x1d00020) //byte_access address by BDMA #define UTXH1 (0x1d04020) #define URXH0 (0x1d00024) #define URXH1 (0x1d04024) #endif /* SIO 本部分定义了 44b0 中与同步 I/O 口相关的寄存器地址 */ #define rsiocon (*(volatile unsigned *)0x1d14000) #define rsiodat (*(volatile unsigned *)0x1d14004) #define rsbrdr (*(volatile unsigned *)0x1d14008) #define rivtcnt (*(volatile unsigned *)0x1d1400c) #define rdcntz (*(volatile unsigned *)0x1d14010) /* IIS 本部分定义了 44b0 中与音频播放器 IIS 相关的寄存器地址 */ #define riiscon (*(volatile unsigned *)0x1d18000) #define riismod (*(volatile unsigned *)0x1d18004) #define riispsr (*(volatile unsigned *)0x1d18008) #define riisfcon (*(volatile unsigned *)0x1d1800c) #ifdef BIG_ENDIAN #define IISFIF ((volatile unsigned short *)0x1d18012) #else //Little Endian #define IISFIF ((volatile unsigned short *)0x1d18010) #endif /* I/O PORT

5 本部分定义了 44b0 中与 I/O 端口相关的寄存器地址 */ #define rpcona (*(volatile unsigned *)0x1d20000) #define rpdata (*(volatile unsigned *)0x1d20004) #define rpconb #define rpdatb (*(volatile unsigned *)0x1d20008) (*(volatile unsigned *)0x1d2000c) #define rpconc #define rpdatc #define rpupc (*(volatile unsigned *)0x1d20010) (*(volatile unsigned *)0x1d20014) (*(volatile unsigned *)0x1d20018) #define rpcond #define rpdatd #define rpupd (*(volatile unsigned *)0x1d2001c) (*(volatile unsigned *)0x1d20020) (*(volatile unsigned *)0x1d20024) #define rpcone #define rpdate #define rpupe (*(volatile unsigned *)0x1d20028) (*(volatile unsigned *)0x1d2002c) (*(volatile unsigned *)0x1d20030) #define rpconf #define rpdatf #define rpupf (*(volatile unsigned *)0x1d20034) (*(volatile unsigned *)0x1d20038) (*(volatile unsigned *)0x1d2003c) #define rpcong #define rpdatg #define rpupg (*(volatile unsigned *)0x1d20040) (*(volatile unsigned *)0x1d20044) (*(volatile unsigned *)0x1d20048) #define rspucr (*(volatile unsigned *)0x1d2004c) #define rextint (*(volatile unsigned *)0x1d20050) #define rextintpnd (*(volatile unsigned *)0x1d20054) /* WATCHDOG 本部分定义了 44b0 中与看门狗定义器相关的寄存器地址 */ #define rwtcon (*(volatile unsigned *)0x1d30000) #define rwtdat (*(volatile unsigned *)0x1d30004) #define rwtcnt (*(volatile unsigned *)0x1d30008) /* ADC 本部分定义了 44b0 中与模数转换器相关的寄存器地址 */ #define radccon (*(volatile unsigned *)0x1d40000) #define radcpsr (*(volatile unsigned *)0x1d40004) #define radcdat (*(volatile unsigned *)0x1d40008) /* Timer 本部分定义了 44b0 中与定时器相关的寄存器地址 */

6 #define rtcfg0 #define rtcfg1 #define rtcon (*(volatile unsigned *)0x1d50000) (*(volatile unsigned *)0x1d50004) (*(volatile unsigned *)0x1d50008) #define rtcntb0 #define rtcmpb0 #define rtcnto0 (*(volatile unsigned *)0x1d5000c) (*(volatile unsigned *)0x1d50010) (*(volatile unsigned *)0x1d50014) #define rtcntb1 #define rtcmpb1 #define rtcnto1 (*(volatile unsigned *)0x1d50018) (*(volatile unsigned *)0x1d5001c) (*(volatile unsigned *)0x1d50020) #define rtcntb2 #define rtcmpb2 #define rtcnto2 (*(volatile unsigned *)0x1d50024) (*(volatile unsigned *)0x1d50028) (*(volatile unsigned *)0x1d5002c) #define rtcntb3 #define rtcmpb3 #define rtcnto3 (*(volatile unsigned *)0x1d50030) (*(volatile unsigned *)0x1d50034) (*(volatile unsigned *)0x1d50038) #define rtcntb4 #define rtcmpb4 #define rtcnto4 (*(volatile unsigned *)0x1d5003c) (*(volatile unsigned *)0x1d50040) (*(volatile unsigned *)0x1d50044) #define rtcntb5 (*(volatile unsigned *)0x1d50048) #define rtcnto5 (*(volatile unsigned *)0x1d5004c) /* IIC 本部分定义了 44b0 中与 IIC 总线相关的寄存器地址 */ #define riiccon (*(volatile unsigned *)0x1d60000) #define riicstat (*(volatile unsigned *)0x1d60004) #define riicadd (*(volatile unsigned *)0x1d60008) #define riicds (*(volatile unsigned *)0x1d6000c) /* RTC 本部分定义了 44b0 中与实时时钟相关的寄存器地址 */ #ifdef BIG_ENDIAN /* 存储模式为大端时各寄存器的地址 */ #define rrtccon (*(volatile unsigned char *)0x1d70043) #define rrtcalm (*(volatile unsigned char *)0x1d70053) #define ralmsec (*(volatile unsigned char *)0x1d70057) #define ralmmin (*(volatile unsigned char *)0x1d7005b) #define ralmhour (*(volatile unsigned char *)0x1d7005f) #define ralmday (*(volatile unsigned char *)0x1d70063) #define ralmmon (*(volatile unsigned char *)0x1d70067) #define ralmyear (*(volatile unsigned char *)0x1d7006b)

7 #define rrtcrst (*(volatile unsigned char *)0x1d7006f) #define rbcdsec (*(volatile unsigned char *)0x1d70073) #define rbcdmin (*(volatile unsigned char *)0x1d70077) #define rbcdhour (*(volatile unsigned char *)0x1d7007b) #define rbcdday (*(volatile unsigned char *)0x1d7007f) #define rbcddate (*(volatile unsigned char *)0x1d70083) #define rbcdmon (*(volatile unsigned char *)0x1d70087) #define rbcdyear (*(volatile unsigned char *)0x1d7008b) #define rticint (*(volatile unsigned char *)0x1d7008e) #else /* 存储模式为小端时各寄存器的地址 */ #define rrtccon (*(volatile unsigned char *)0x1d70040) #define rrtcalm (*(volatile unsigned char *)0x1d70050) #define ralmsec (*(volatile unsigned char *)0x1d70054) #define ralmmin (*(volatile unsigned char *)0x1d70058) #define ralmhour (*(volatile unsigned char *)0x1d7005c) #define ralmday (*(volatile unsigned char *)0x1d70060) #define ralmmon (*(volatile unsigned char *)0x1d70064) #define ralmyear (*(volatile unsigned char *)0x1d70068) #define rrtcrst (*(volatile unsigned char *)0x1d7006c) #define rbcdsec (*(volatile unsigned char *)0x1d70070) #define rbcdmin (*(volatile unsigned char *)0x1d70074) #define rbcdhour (*(volatile unsigned char *)0x1d70078) #define rbcdday (*(volatile unsigned char *)0x1d7007c) #define rbcddate (*(volatile unsigned char *)0x1d70080) #define rbcdmon (*(volatile unsigned char *)0x1d70084) #define rbcdyear (*(volatile unsigned char *)0x1d70088) #define rticint (*(volatile unsigned char *)0x1d7008c) #endif /* Clock & Power management 本部分定义了 44b0 中与时钟和电源管理相关的寄存器地址 */ #define rpllcon (*(volatile unsigned *)0x1d80000) #define rclkcon (*(volatile unsigned *)0x1d80004) #define rclkslow (*(volatile unsigned *)0x1d80008) #define rlocktime (*(volatile unsigned *)0x1d8000c) /* INTERRUPT 本部分定义了 44b0 中与中断相关的寄存器地址 */ #define rintcon (*(volatile unsigned *)0x1e00000) #define rintpnd (*(volatile unsigned *)0x1e00004) #define rintmod (*(volatile unsigned *)0x1e00008) #define rintmsk (*(volatile unsigned *)0x1e0000c) #define ri_pslv #define ri_pmst #define ri_cslv (*(volatile unsigned *)0x1e00010) (*(volatile unsigned *)0x1e00014) (*(volatile unsigned *)0x1e00018)

8 #define ri_cmst #define ri_ispr #define ri_ispc (*(volatile unsigned *)0x1e0001c) (*(volatile unsigned *)0x1e00020) (*(volatile unsigned *)0x1e00024) #define rf_ispr (*(volatile unsigned *)0x1e00038) #define rf_ispc (*(volatile unsigned *)0x1e0003c) /* LCD 本部分定义了 44b0 中与液晶 LCD 相关的寄存器地址 */ #define rlcdcon1 (*(volatile unsigned *)0x1f00000) #define rlcdcon2 (*(volatile unsigned *)0x1f00004) #define rlcdcon3 (*(volatile unsigned *)0x1f00040) #define rlcdsaddr1 (*(volatile unsigned *)0x1f00008) #define rlcdsaddr2 (*(volatile unsigned *)0x1f0000c) #define rlcdsaddr3 (*(volatile unsigned *)0x1f00010) #define rredlut (*(volatile unsigned *)0x1f00014) #define rgreenlut (*(volatile unsigned *)0x1f00018) #define rbluelut (*(volatile unsigned *)0x1f0001c) #define rdp1_2 (*(volatile unsigned *)0x1f00020) #define rdp4_7 (*(volatile unsigned *)0x1f00024) #define rdp3_5 (*(volatile unsigned *)0x1f00028) #define rdp2_3 (*(volatile unsigned *)0x1f0002c) #define rdp5_7 (*(volatile unsigned *)0x1f00030) #define rdp3_4 (*(volatile unsigned *)0x1f00034) #define rdp4_5 (*(volatile unsigned *)0x1f00038) #define rdp6_7 (*(volatile unsigned *)0x1f0003c) #define rdithmode (*(volatile unsigned *)0x1f00044) /* ZDMA0 本部分定义了 44b0 中与 ZDMA0 相关的寄存器地址 */ #define rzdcon0 (*(volatile unsigned *)0x1e80000) #define rzdisrc0 (*(volatile unsigned *)0x1e80004) #define rzdides0 (*(volatile unsigned *)0x1e80008) #define rzdicnt0 (*(volatile unsigned *)0x1e8000c) #define rzdcsrc0 (*(volatile unsigned *)0x1e80010) #define rzdcdes0 (*(volatile unsigned *)0x1e80014) #define rzdccnt0 (*(volatile unsigned *)0x1e80018) /* ZDMA1 本部分定义了 44b0 中与 ZDMA1 相关的寄存器地址 */ #define rzdcon1 (*(volatile unsigned *)0x1e80020) #define rzdisrc1 (*(volatile unsigned *)0x1e80024) #define rzdides1 (*(volatile unsigned *)0x1e80028) #define rzdicnt1 (*(volatile unsigned *)0x1e8002c) #define rzdcsrc1 (*(volatile unsigned *)0x1e80030) #define rzdcdes1 (*(volatile unsigned *)0x1e80034) #define rzdccnt1 (*(volatile unsigned *)0x1e80038)

9 /* BDMA0 本部分定义了 44b0 中与 BDMA0 相关的寄存器地址 */ #define rbdcon0 (*(volatile unsigned *)0x1f80000) #define rbdisrc0 (*(volatile unsigned *)0x1f80004) #define rbdides0 (*(volatile unsigned *)0x1f80008) #define rbdicnt0 (*(volatile unsigned *)0x1f8000c) #define rbdcsrc0 (*(volatile unsigned *)0x1f80010) #define rbdcdes0 (*(volatile unsigned *)0x1f80014) #define rbdccnt0 (*(volatile unsigned *)0x1f80018) /* BDMA1 本部分定义了 44b0 中与 BDMA1 相关的寄存器地址 */ #define rbdcon1 (*(volatile unsigned *)0x1f80020) #define rbdisrc1 (*(volatile unsigned *)0x1f80024) #define rbdides1 (*(volatile unsigned *)0x1f80028) #define rbdicnt1 (*(volatile unsigned *)0x1f8002c) #define rbdcsrc1 (*(volatile unsigned *)0x1f80030) #define rbdcdes1 (*(volatile unsigned *)0x1f80034) #define rbdccnt1 (*(volatile unsigned *)0x1f80038) /* ISR 本部分定义了 44b0 中各中断处理程序所对应的中断向量地址 */ #define pisr_reset (*(unsigned *)(_ISR_STARTADDRESS+0x0)) #define pisr_undef (*(unsigned *)(_ISR_STARTADDRESS+0x4)) #define pisr_swi (*(unsigned *)(_ISR_STARTADDRESS+0x8)) #define pisr_pabort (*(unsigned *)(_ISR_STARTADDRESS+0xc)) #define pisr_dabort (*(unsigned *)(_ISR_STARTADDRESS+0x10)) #define pisr_reserved (*(unsigned *)(_ISR_STARTADDRESS+0x14)) #define pisr_irq (*(unsigned *)(_ISR_STARTADDRESS+0x18)) #define pisr_fiq (*(unsigned *)(_ISR_STARTADDRESS+0x1c)) #define pisr_adc (*(unsigned *)(_ISR_STARTADDRESS+0x20)) #define pisr_rtc (*(unsigned *)(_ISR_STARTADDRESS+0x24)) #define pisr_utxd1 (*(unsigned *)(_ISR_STARTADDRESS+0x28)) #define pisr_utxd0 (*(unsigned *)(_ISR_STARTADDRESS+0x2c)) #define pisr_sio (*(unsigned *)(_ISR_STARTADDRESS+0x30)) #define pisr_iic (*(unsigned *)(_ISR_STARTADDRESS+0x34)) #define pisr_urxd1 (*(unsigned *)(_ISR_STARTADDRESS+0x38)) #define pisr_urxd0 (*(unsigned *)(_ISR_STARTADDRESS+0x3c)) #define pisr_timer5 (*(unsigned *)(_ISR_STARTADDRESS+0x40)) #define pisr_timer4 (*(unsigned *)(_ISR_STARTADDRESS+0x44)) #define pisr_timer3 (*(unsigned *)(_ISR_STARTADDRESS+0x48)) #define pisr_timer2 (*(unsigned *)(_ISR_STARTADDRESS+0x4c)) #define pisr_timer1 (*(unsigned *)(_ISR_STARTADDRESS+0x50)) #define pisr_timer0 (*(unsigned *)(_ISR_STARTADDRESS+0x54)) #define pisr_uerr01 (*(unsigned *)(_ISR_STARTADDRESS+0x58)) #define pisr_wdt (*(unsigned *)(_ISR_STARTADDRESS+0x5c))

10 #define pisr_bdma1 (*(unsigned *)(_ISR_STARTADDRESS+0x60)) #define pisr_bdma0 (*(unsigned *)(_ISR_STARTADDRESS+0x64)) #define pisr_zdma1 (*(unsigned *)(_ISR_STARTADDRESS+0x68)) #define pisr_zdma0 (*(unsigned *)(_ISR_STARTADDRESS+0x6c)) #define pisr_tick (*(unsigned *)(_ISR_STARTADDRESS+0x70)) #define pisr_eint4567 (*(unsigned *)(_ISR_STARTADDRESS+0x74)) #define pisr_eint3 (*(unsigned *)(_ISR_STARTADDRESS+0x78)) #define pisr_eint2 (*(unsigned *)(_ISR_STARTADDRESS+0x7c)) #define pisr_eint1 (*(unsigned *)(_ISR_STARTADDRESS+0x80)) #define pisr_eint0 (*(unsigned *)(_ISR_STARTADDRESS+0x84)) /* PENDING BIT 本部分定义了 44b0 中各中断源在中断屏蔽寄存器中所对应的 bit 位 */ //CAUTION:You must clear the pending bit as general special register. // it's different way with KS32C6x00 #define BIT_ADC (0x1) #define BIT_RTC (0x1<<1) #define BIT_UTXD1 (0x1<<2) #define BIT_UTXD0 (0x1<<3) #define BIT_SIO (0x1<<4) #define BIT_IIC (0x1<<5) #define BIT_URXD1 (0x1<<6) #define BIT_URXD0 (0x1<<7) #define BIT_TIMER5 (0x1<<8) #define BIT_TIMER4 (0x1<<9) #define BIT_TIMER3 (0x1<<10) #define BIT_TIMER2 (0x1<<11) #define BIT_TIMER1 (0x1<<12) #define BIT_TIMER0 (0x1<<13) #define BIT_UERR01 (0x1<<14) #define BIT_WDT (0x1<<15) #define BIT_BDMA1 (0x1<<16) #define BIT_BDMA0 (0x1<<17) #define BIT_ZDMA1 (0x1<<18) #define BIT_ZDMA0 (0x1<<19) #define BIT_TICK (0x1<<20) #define BIT_EINT4567 (0x1<<21) #define BIT_EINT3 (0x1<<22) #define BIT_EINT2 (0x1<<23) #define BIT_EINT1 (0x1<<24) #define BIT_EINT0 (0x1<<25) #define BIT_GLOBAL (0x1<<26) #ifdef cplusplus

11 #endif #endif /* 44B0X_H */ 2. 嵌入式系统开发与应用教程 / 第五章 /5.3 嵌入式 C 语言程序设计基础 / 例程二 def.h 例程二 : def.h 以下是 def.h 的定义 : /********************************************************************** * File: DEF.H * Desc: data type define **********************************************************************/ #ifndef DEF_H_ #define DEF_H_ #ifndef ULONG #define ULONG #endif unsigned long #define UINT unsigned int #define USHORT unsigned short #define UCHAR unsigned char #define U32 unsigned int #define INT32U unsigned int #define INT32 int #define U16 unsigned short #define INT16U unsigned short #define INT16 short int #define S32 int #define S16 short int #define U8 unsigned char #define INT8U unsigned char #define byte unsigned char #define INT8 char #define S8 char #define TRUE 1 #define FALSE 0 #define OK 1 #define FAIL 0 #define FileEnd 1 #define NotEnd 0 #endif /* DEF_H_ */ 3. 嵌入式系统开发与应用教程 / 第五章 /5.3 嵌入式 C 语言程序设计基础 / 例程三 44blib.c 例程三 : 44blib.c

12 以下是 44blib.c 的定义 : #include "44b.h" #include "44blib.h" #include "def.h" #include "option.h" #include <stdarg.h> #include <string.h> #include <stdio.h> #include <ctype.h> #define STACKSIZE 0xa00 //SVC satck size(do not use user stack)// #define HEAPEND (_ISR_STARTADDRESS-STACKSIZE-0x500) // = 0xc7ff000// //SVC Stack Area:0xc(e)7ff000-0xc(e)7ffaff// extern char Image_RW_Limit[]; volatile unsigned char *downpt; unsigned int filesize; void *mallocpt=image_rw_limit; void (*restart)(void)=(void (*)(void))0x0; void (*run)(void)=(void (*)(void))download_address; // SYSTEM // static int delayloopcount=400; void Delay(int time) // time=0: adjust the Delay function by WatchDog timer.// // time>0: the number of loop time// // 100us resolution.// int i,adjust=0; if(time==0) time=200; adjust=1; delayloopcount=400; rwtcon=((mclk/ )<<8) (2<<3); //1M/64,Watch-dog,nRESET,interrupt disable// rwtdat=0xffff; rwtcnt=0xffff; rwtcon=((mclk/ )<<8) (2<<3) (1<<5);//1M/64,Watch-dog enable,nreset,interrupt disable // for(;time>0;time--)

13 for(i=0;i<delayloopcount;i++); if(adjust==1) rwtcon=((mclk/ )<<8) (2<<3); i=0xffff-rwtcnt; // 1count/16us// delayloopcount= /(i*64); //400*100/(i*64/200) // void DelayMs(int ms_time) int i; for( i = 0 ; i < 1000*ms_time ; i++ ) ; /*********************************************************************** name: DelayTime func: delay time **********************************************************************/ void DelayTime(int num) int i; for( i = 0 ; i < num ; i++ ) ; // PORTS // void Port_Init(void) //CAUTION:Follow the configuration order for setting the ports. // 1) setting value // 2) setting control register // 3) configure pull-up resistor. //16bit data bus configuration // PORT A GROUP // BIT // A24 A23 A22 A21 A20 A19 A18 A17 A16 A0 // rpcona = 0x1ff;

14 // PORT B GROUP // BIT // /CS5 /CS4 /CS3 /CS2 /CS1 GPB5 GPB4 /SRAS /SCAS SCLK SCKE // EXT NIC USB IDE SMC NC NC Sdram Sdram Sdram Sdram // 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1 rpdatb = 0x7ff; // P9-LED1 P10-LED2 rpconb = 0x1cf; // PORT C GROUP // BUSWIDTH=16 // PC // I I RXD1 TXD1 I I I I // NC NC Uart1 Uart1 NC NC NC NC // // PC // I I I I I I I I // NC NC NC NC IISCLK IISDI IISDO IISLRCK // rpdatc = 0xff00; rpconc = 0x0ff0ffff; rpupc = 0x30ff; //PULL UP RESISTOR should be enabled to I/O // PORT D GROUP // PORT D GROUP(I/O OR LCD) // BIT // VF VM VLINE VCLK VD3 VD2 VD1 VD0 // rpdatd= 0xff; rpcond= 0xaaaa; rpupd = 0x0; // These pins must be set only after CPU's internal LCD controller is enable // PORT E GROUP // Bit // CODECLK LED4 LED5 LED6 LED7 BEEP RXD0 TXD0 LcdDisp //

15 rpdate = 0x1ff; rpcone = 0x25529; rpupe = 0x6; // PORT F GROUP // Bit // IISCLK IISDI IISDO IISLRCK Input Input Input IICSDA IICSCL // rpdatf = 0x0; rpconf = 0x252a; rpupf = 0x0; // PORT G GROUP // BIT // INT7 INT6 INT5 INT4 INT3 INT2 INT1 INT0 // S3 S4 S5 S6 NIC EXT IDE USB // rpdatg = 0xff; rpcong = 0xffff; rpupg = 0x0; //should be enabled rspucr = 0x7; //D15-D0 pull-up disable /* Non Cache area */ rncachbe0=((non_cache_end>>12)<<16) (Non_Cache_Start>>12); /* Low level default */ rextint=0x0; /************************* UART ****************************/ static int whichuart=0; void Uart_Init(int mclk,int baud) int i; if(mclk==0) mclk=mclk; rufcon0=0x0; rufcon1=0x0; rumcon0=0x0; rumcon1=0x0; //UART0 rulcon0=0x3; rucon0=0x245; //FIFO disable //Normal,No parity,1 stop,8 bit //rx=edge,tx=level,disable timeout int.,enable rx error

16 int.,normal,interrupt or polling rubrdiv0=( (int)(mclk/16./baud + 0.5) -1 ); //UART1 rulcon1=0x3; rucon1=0x245; rubrdiv1=( (int)(mclk/16./baud + 0.5) -1 ); for(i=0;i<100;i++); void Uart_Select(int ch) whichuart=ch; void Uart_TxEmpty(int ch) if(ch==0) while(!(rutrstat0 & 0x4)); //wait until tx shifter is empty. else while(!(rutrstat1 & 0x4)); //wait until tx shifter is empty. char Uart_Getch(void) if(whichuart==0) while(!(rutrstat0 & 0x1)); //Receive data read return RdURXH0(); else while(!(rutrstat1 & 0x1)); //Receive data ready return rurxh1; char Uart_GetKey(void) if(whichuart==0) if(rutrstat0 & 0x1) //Receive data ready return RdURXH0(); else return 0; else

17 if(rutrstat1 & 0x1) //Receive data ready return rurxh1; else return 0; void Uart_GetString(char *string) char *string2=string; char c; while((c=uart_getch())!='\r') if(c=='\b') if( (int)string2 < (int)string ) Uart_Printf("\b \b"); string--; else *string++=c; Uart_SendByte(c); *string='\0'; Uart_SendByte('\n'); int Uart_GetIntNum(void) char str[30]; char *string=str; int base=10; int minus=0; int lastindex; int result=0; int i; Uart_GetString(string); if(string[0]=='-')

18 minus=1; string++; if(string[0]=='0' && (string[1]=='x' string[1]=='x')) base=16; string+=2; lastindex=strlen(string)-1; if( string[lastindex]=='h' string[lastindex]=='h' ) base=16; string[lastindex]=0; lastindex--; if(base==10) result=atoi(string); result=minus? (-1*result):result; else for(i=0;i<=lastindex;i++) if(isalpha(string[i])) if(isupper(string[i])) result=(result<<4)+string[i]-'a'+10; else result=(result<<4)+string[i]-'a'+10; else result=(result<<4)+string[i]-'0'; result=minus? (-1*result):result; return result; void Uart_SendByte(int data)

19 if(whichuart==0) if(data=='\n') while(!(rutrstat0 & 0x2)); Delay(10); //because the slow response of hyper_terminal WrUTXH0('\r'); while(!(rutrstat0 & 0x2)); //Wait until THR is empty. Delay(10); WrUTXH0(data); else if(data=='\n') while(!(rutrstat1 & 0x2)); Delay(10); //because the slow response of hyper_terminal rutxh1='\r'; while(!(rutrstat1 & 0x2)); //Wait until THR is empty. Delay(10); rutxh1=data; void Uart_SendString(char *pt) while(*pt) Uart_SendByte(*pt++); //if you don't use vsprintf(), the code size is reduced very much. void Uart_Printf(char *fmt,...) va_list ap; char string[256]; va_start(ap,fmt); vsprintf(string,fmt,ap); Uart_SendString(string); va_end(ap); /************************* Timer ********************************/ void Timer_Start(int divider) //0:16us,1:32us 2:64us 3:128us

20 rwtcon=((mclk/ )<<8) (divider<<3); rwtdat=0xffff; rwtcnt=0xffff; // 1/16/(65+1),nRESET & interrupt disable rwtcon=((mclk/ )<<8) (divider<<3) (1<<5); int Timer_Stop(void) rwtcon=((mclk/ )<<8); return (0xffff-rWTCNT); void Beep(int BeepStatus) if (BeepStatus==0) rpdate=rpdate 0x8; else rpdate=rpdate&0x1f7; /************************* PLL ********************************/ void ChangePllValue(int mdiv,int pdiv,int sdiv) rpllcon=(mdiv<<12) (pdiv<<4) sdiv; /************************* General Library **********************/ void * malloc(unsigned nbyte) /*Very simple; Use malloc() & free() like Stack*/ //void *mallocpt=image$$rw$$limit; void *returnpt=mallocpt; mallocpt= (int *)mallocpt+nbyte/4+((nbyte%4)>0); //to align 4byte if( (int)mallocpt > HEAPEND ) mallocpt=returnpt; return NULL; return returnpt; void free(void *pt) mallocpt=pt;

21 void Cache_Flush(void) int i,savesyscfg; savesyscfg=rsyscfg; rsyscfg=syscfg_0kb; for(i=0x ;i<0x ;i+=16) *((int *)i)=0x0; rsyscfg=savesyscfg; #ifndef _LIB_LED_off // if define _LIB_LED_off don't use LIB settings. /********************************************************************** * name: Led_Display * func: Led Display control function * para: LedStatus -- led's status **********************************************************************/ void Led_Display(int LedStatus) if((ledstatus&0x01)==0x01) rpdatb=rpdatb&0x5ff; else rpdatb=rpdatb 0x200; if((ledstatus&0x02)==0x02) rpdatb=rpdatb&0x3ff; else rpdatb=rpdatb 0x400; #endif void sys_init()// Interrupt,Port and UART /* enable interrupt */ rintmod=0x0; rintcon=0x1; ri_ispc = 0xffffffff; /* clear all interrupt pend */ rextintpnd = 0xf; // clear EXTINTPND reg Port_Init(); /* Initial 44B0X's I/O port */

22 LED8ADDR = 0 ; Led_Display(0xf); Delay(0); /* delay time */ Uart_Init(0,115200); /* Initial Serial port 1 */ 4. 嵌入式系统开发与应用教程 / 第五章 /5.3 嵌入式 C 语言程序设计实例 / 例程四 Flash.c 例程四 : Flash 测试实验代码 Flash 测试实验代码如下所示 : /****************************************************************************** * File: flash.c * Desc: SST39VF160 Flash program code ******************************************************************************/ /*--- 包含文件 ---*/ #include "flash.h" /* flash 头文件 */ /*--- 函数声明 ---*/ int Identify(int base_addr); int erase_flash(int base_addr); int erase_sector(int base_addr); int wait_flash_ready(int address, pb0size data); /*--- 函数代码 ---*/ /****************************************************************************** * name: Test_Flash * func: flash 测试程序 ******************************************************************************/ void Test_Flash(void) char data[256]; int i; Uart_Printf("\nWrite 0x000-0xff to flash address 0x \n"); for( i = 0 ; i < 256 ; i++ ) data[i] = i; if( Program(0x30000,data,256) == TRUE ) Uart_Printf("\nFlash Write and Check Success!\n");

23 /****************************************************************************** * name: Program * func: program data to flash * para: addr_base 目标 flash 的起始地址 * pdata -- 源数据指针 * data_size 源数据大小 ******************************************************************************/ int Program(int addr_base, char* pdata, int data_size) char sec_data[4096]; // sector data int base_addr,sector_addr,length; int i,j,sect_num; short *psrc; short *pdest; base_addr = ((int)addr_base& ~FLASH_MASK); /*--- 检查 flash 类型 ---*/ if( Identify(base_addr) == FALSE ) return; /* 计算扇区数目 */ sect_num = (((addr_base+data_size)&sector_mask) - (addr_base&sector_mask))/0x1000+1; /* 擦除每个扇区 */ sector_addr = addr_base & SECTOR_MASK; for( i = 0 ; i < sect_num ; i++ ) sector_addr = sector_addr + i*0x1000; /* 从扇区读数据 */ for( j = 0 ; j < 1024 ; j++ ) ((long *)sec_data)[j] = ((long *)sector_addr)[j]; if( i == 0 ) /* 复制长度 */ length = 4096-(addr_base-sector_addr); length = (length < data_size)? length : data_size; /* 复制目标数据到临时数据存放区 */ for( j = 0 ; j < length ; j++ ) sec_data[addr_base-sector_addr+j] = pdata[j];

24 else if( i == (sect_num - 1) ) length = (addr_base+data_size) - sector_addr; for( j = 0 ; j < length ; j++ ) sec_data[j] = pdata[data_size-length+j]; else for( j = 0 ; j < 4096 ; j++ ) sec_data[j] = pdata[sector_addr-addr_base+j]; /* 擦除扇区 */ erase_sector(sector_addr); /* 向扇区写数据 */ pdest = (short *)sector_addr; psrc = (short *)sec_data; for( j = 0 ; j < 2048 ; j++ ) *((volatile short *)(base_addr + FLASH_SEQ_ADD_1)) = FLASH_WORD_COM_1; *((volatile short *)(base_addr + FLASH_SEQ_ADD_2)) = FLASH_WORD_COM_2; *((volatile short *)(base_addr + FLASH_SEQ_ADD_1)) = WRITE_WORD_COM; pdest[j] = psrc[j]; DelayTime(10); /* 检查数据 */ if( pdest[j]!= psrc[j] ) Uart_Printf("\nwrite address %x error!\n",sector_addr+j*2); return FALSE; return TRUE; /****************************************************************************** * name: Identify * func: 确定 flash 类型 * para: base_addr flash 的起始地址 ******************************************************************************/

25 int Identify(int base_addr) int manuf_code, device_code; /* 进入 Software Product Identification 模式 */ *((short *)(base_addr + FLASH_SEQ_ADD_1)) = FLASH_WORD_COM_1; *((short *)(base_addr + FLASH_SEQ_ADD_2)) = FLASH_WORD_COM_2; *((short *)(base_addr + FLASH_SEQ_ADD_1)) = ID_IN_WORD_COM; /* 等待设备改变状态 */ DelayTime(50); /* 从设备中读取厂商提供的代码 */ manuf_code = (*((short *)(base_addr + 0))) & 0x00FF; device_code = (*((short *)(base_addr + 2))) & 0xFFFF; /* 退出 Software Product Identification 模式 */ *((short *)(base_addr + FLASH_SEQ_ADD_1)) = FLASH_WORD_COM_1; *((short *)(base_addr + FLASH_SEQ_ADD_2)) = FLASH_WORD_COM_2; *((short *)(base_addr + FLASH_SEQ_ADD_1)) = ID_OUT_WORD_COM; /* Wait */ DelayTime(50); /* 检查厂商提供的 Flash ID */ if( manuf_code!= MANU_ID ) Uart_Printf("\nFlash Manufacturer ID Error!\n"); return FALSE; if( device_code!= FLASH_ID ) Uart_Printf("\nFlash Device ID Error!\n"); return FALSE; return TRUE; /****************************************************************************** * name: erase_sector * func: 擦除 flash 上的扇区 * para: base_addr flash 起始地址 ******************************************************************************/ int erase_sector(int base_addr) int addr_base;

26 /* 擦除 flash */ addr_base = ((int)base_addr& ~FLASH_MASK); *((short *)(addr_base + FLASH_SEQ_ADD_1)) = FLASH_WORD_COM_1; *((short *)(addr_base + FLASH_SEQ_ADD_2)) = FLASH_WORD_COM_2; *((short *)(addr_base + FLASH_SEQ_ADD_1)) = ERASE_SECTOR_CODE1; *((short *)(addr_base + FLASH_SEQ_ADD_1)) = FLASH_WORD_COM_1; *((short *)(addr_base + FLASH_SEQ_ADD_2)) = FLASH_WORD_COM_2; *((short *)(base_addr)) = ERASE_SECTOR_CODE2; DelayTime(30); //* Wait for Flash Ready after Erase, if timeout if(wait_flash_ready(base_addr,0xffff ) == FALSE) Uart_Printf("\nErase sector %x Error!\n",base_addr); return FALSE; return TRUE; /****************************************************************************** * name: erase_flash * func: 擦除所有的 flash 数据 * para: base_addr flash 起始地址 ******************************************************************************/ int erase_flash(int base_addr) int addr_base; /* 擦除 flash */ addr_base = ((int)base_addr& ~FLASH_MASK); *((short *)(addr_base + FLASH_SEQ_ADD_1)) = FLASH_WORD_COM_1; *((short *)(addr_base + FLASH_SEQ_ADD_2)) = FLASH_WORD_COM_2; *((short *)(addr_base + FLASH_SEQ_ADD_1)) = ERASE_SECTOR_CODE1; *((short *)(addr_base + FLASH_SEQ_ADD_1)) = FLASH_WORD_COM_1; *((short *)(addr_base + FLASH_SEQ_ADD_2)) = FLASH_WORD_COM_2; *((short *)(addr_base + FLASH_SEQ_ADD_1)) = CHIP_SECTOR_CODE1; DelayTime(30); //* 擦除后等待 Flash 操作成功或暂停 (timeout) if(wait_flash_ready(addr_base,0xffff ) == FALSE) Uart_Printf("\nErase Flash Error!\n"); return FALSE; return TRUE;

27 /****************************************************************************** * name: wait_flash_ready * func: 等待直到 flash 操作成功或暂停 (timeout) * para: address 比较地址 * data -- 比较数据 ******************************************************************************/ int wait_flash_ready(int address, pb0size data) pb0size ultemp; int i = 0 ; /* While two consecutive read don't give same value or timeout */ do ultemp = *((pb0size *)address); while( (ultemp!= data) && (i++ < TIME_OUT) ); if( i < TIME_OUT ) return TRUE; else return FALSE; 5. 嵌入式系统开发与应用教程 / 第五章 /5.7 基于 Embest IDE for ARM 环境的软件开发实例 / 例程五基于 Embest IDE for ARM 环境的软件开发实例例程五 : 基于 Embest IDE for ARM 环境的软件开发实例 开发实例介绍本节所介绍的例程是一个基于 S3C4510 的完整的程序, 可以在 RAM 中进行调试, 固化在 ROM 中可以正常运行 正常运行时将间隔点亮一个发光二级管, 按下按钮将点亮另外一个发光二级管 为方便用户对 S3C4510 编程和应用的快速理解, 整个软件只包含两个程序源文件 : * 启动汇编文件 init.s * C 源程序文件 led_int.c 所有的宏定义也被包含在源文件中, 不再另外使用其他头文件 该例程完整的演示了 S3C4510 处理器的启动过程, 包括存储区配置 栈设置 中断向量设置, 启动完成后演示了 I/O 端口的控制 中断的函数处理 该例程是一个 S3C4510 的最小程序框架, 用户可以在此基础上扩展自己的应用 该例程基于英蓓特公司的 EV4510 实验电路板, 基本配置为 :2M 的 Flash 区域,16M 的 DRAM 区,I/O 端口 P16 连接到发光管 LED1,I/O 端口 P17 连接到发光管 LED2,I/O 端口 P9 连接到按钮 开发人员如果要在自己设计的电路板上使用本程序, 只需要在启动文件中更改系统配置寄存器值和存储区寄存器设置值, 同时在 C 文件中根据实际的 I/O 端口连接修改 I/O 端口

28 相关寄存器值 源文件解释一 启动汇编文件启动汇编文件 init.s, 依次完成如下工作 : 中断向量的设置, 系统配置寄存器的设置, 存储区的配置, 程序中使用到的数据段向 RAM 区的拷贝, 栈空间的初始化, 进入 C 语言程序入口 其中读者需要注意的是 : 1 如果软件在 RAM 中调试, 则存储区的配置将由集成环境通过命令脚本文件完成, 因此在程序中不需要使用到存储区配置代码, 这可以通过对 ROM 符号定义的切换完成 ; 2 在 RAM 中调试时, 数据段内容不需要拷贝, 这在程序中通过判断只读区域和可读写区域地址是否重叠自动选择 ; 3 代码中对异常向量如预取失败并未做任何处理, 完善的程序应该处理任一个异常向量, 包括保存进入异常向量前的执行状态以备查询 清除异常可能产生的错误后返回程序继续执行 Init.s 的源代码及其详细解释如下 : /*************************************************************************/ /* 文件名 : init.s */ /* 说明 : S3C4510 启动程序 */ /*************************************************************************/ #========================================================== # 编程寄存器位定义 #==========================================================.EQU LOCKOUT, 禁止所有中断.EQU MODE_MASK, 处理器模式位.EQU UDF_MODE, 未定义模式 UDF.EQU ABT_MODE, 异常模式 ABT.EQU SUP_MODE, 超级用户模式 SVC.EQU IRQ_MODE, 中断模式 IRQ.EQU FIQ_MODE, 快速中断模式 FIQ.EQU USR_MODE, 用户模式 USR #========================================================== # 设置中断和异常向量 #========================================================== ENTRY: B S3C4510 复位后从此处执行 B SystemUndefinedHandler B SystemSwiHandler B SystemPrefetchHandler B SystemAbortHandler B SystemReserv B SystemIrqHandler B SystemFiqHandler #==========================================================

29 # 复位入口点 #==========================================================.global Reset_Handler 复位入口点 #================================================== # 设置系统配置寄存器 #================================================== LDR r0, 系统配置寄存器地址 0x3FF00000 LDR r1, 设置寄存器值为 0x83FFFF90 STR r1, 寄存器意义 : 使用同步 DRAM, 外围寄存器基值 0x3FF0000, 使能 Cache #================================================== # 配置存储区, 在 RAM 中调试本程序不定义 ROM, 固化时定义 #==================================================.ifdef ROM LDR r0, 载入存储区寄存器设置值保存地址 LDMIA r0, 载入 12 个设置值 LDR r0, =0x3FF 载入存储区寄存器地址 STMIA r0, 设置存储区寄存器.endif #================================================== # 引入外部符号, 符号定义在链接脚本文件中 #==================================================.extern 只读区域大小.extern 可读写存储区域起始地址.extern 清零区域起始地址, 代码中.bss 段未初始化的 变量所在区域.extern 清零区域大小 #================================================== # 初始化 C 代码需要使用的存储区 #================================================== LDR r0, 获取只读区域大小 LDR r1, 获取可读写区域起始地址 LDR r3, 获取清零区域起始地址 CMP r0, 比较只读区域和可读写区域是否重叠 BEQ LOOP1 LOOP0: CMP r1, 拷贝程序中.data 数据段内容到读写区域 LDRCC r2, [r0], #4 STRCC r2, [r1], #4 BCC LOOP0 LOOP1: LDR r1, 从清零区域顶部开始 MOV r2, #0

30 LOOP2: CMP r3, 清零 STRCC r2, [r3], #4 BCC LOOP2 #===================================== # 初始化栈空间 #===================================== INITIALIZE_STACK: MRS r0, cpsr BIC r0, r0, #LOCKOUT MODE_MASK ORR r2, r0, #USR_MODE ORR r1, r0, #LOCKOUT FIQ_MODE MSR cpsr_cf, r1 MSR spsr_cf, r2 LDR sp, 设置快速中断栈空间 ORR r1, r0, #LOCKOUT IRQ_MODE MSR cpsr_cf, r1 MSR spsr_cf, r2 LDR sp, 设置中断栈空间 ORR r1, r0, #LOCKOUT ABT_MODE MSR cpsr_cf, r1 MSR spsr_cf, r2 LDR sp, 设置异常栈空间 ORR r1, r0, #LOCKOUT UDF_MODE MSR cpsr_cf, r1 MSR spsr_cf, r2 LDR sp, 设置未定义异常栈空间 ORR r1, r0, #LOCKOUT SUP_MODE MSR cpsr_cf, r1 MSR spsr_cf, r2 LDR sp, 设置超级用户栈空间 #==================================================== # 切换到用户模式并设置用户栈空间 #==================================================== MRS r0, cpsr BIC r0, r0, #LOCKOUT MODE_MASK ORR r1, r0, #USR_MODE

31 MSR cpsr_cf, r0 LDR sp, =USR_STACK #=========================== # 进入 C 语言程序入口 #===========================.extern main BL main #=========================================== # 向量函数定义, 内部函数定义在 C 程序中 #=========================================== SystemUndefinedHandler: B SystemUndefinedHandler SystemSwiHandler: B SystemSwiHandler MakeSVC: B MakeSVC SystemPrefetchHandler: B SystemPrefetchHandler SystemAbortHandler: B SystemAbortHandler SystemReserv: B SystemReserv 中断向量.extern ISR_IrqHandler STMFD sp!, r0-r12, 中断栈保存 BL 中断 C 处理函数 LDMFD sp!, r0-r12, 恢复中断栈 SUBS pc, lr, 返回中断前的程序指针 快速中断向量.extern ISR_FiqHandler STMFD sp!, r0-r7, 快速中断栈保存 BL 快速中断 C 处理函数 LDMFD sp!, r0-r7, 恢复快速中断栈 SUBS pc, lr, 返回快速中断前的程序指针 #=========================================== # 存储区寄存器设置值 #=========================================== SystemInitDataSDRAM:.long EXTDBWTH 设置值.long ROMCOON0 设置值, 0~0x long 0x long 0x long 0x long 0x long 0x long DRAMCON0 设置值, 0x400000~0x long 0x

32 .long 0x long 0x long REFEXTCOM 设置值 #=========================================== # 栈空间定义区间 #===========================================.data.space 1024 USR_STACK:.SPACE 512 UDF_STACK:.SPACE 512 ABT_STACK:.SPACE 512 IRQ_STACK:.SPACE 512 FIQ_STACK:.SPACE 512 SUP_STACK: 二 C 主程序文件 C 主程序文件 led_int.c 完成 I/O 端口和中断的初始化 中断函数实现, 本程序中未完 成快速中断的处理, 但作为链接的需要保留了一个快速中断处理的空函数 Led_int.c 的源代码和详细解释如下 : /************************************************************************/ /* 文件名 : led_int.c */ /* 说明 : S3C4510 控制 IO 和中断演示程序 */ /* P16/TOUT0 连接 LED1 */ /* P17/TOUT1 连接 LED2 */ /* P9/XIRQ1 连接按钮 */ /************************************************************************/ #define VPint *(volatile unsigned int *) #define Base_Addr 0x3ff0000 // 寄存器基地址 #define IOPMOD (VPint(Base_Addr+0x5000)) // IO 模式寄存器 #define IOPCON (VPint(Base_Addr+0x5004)) // IO 控制寄存器 #define IOPDATA (VPint(Base_Addr+0x5008)) // IO 数据寄存器 #define INTMOD (VPint(Base_Addr+0x4000)) // 中断模式寄存器 #define INTPEND (VPint(Base_Addr+0x4004)) // 中断挂起寄存器 #define INTMASK (VPint(Base_Addr+0x4008)) // 中断屏蔽寄存器 #define INTOFFSET (VPint(Base_Addr+0x4024)) // 中断偏移寄存器 void ISR_IrqHandler(void); void ISR_FiqHandler(void); /************************************************************************* * 名称 : main * 功能 : C 语言入口主函数 *************************************************************************/

33 void main(void) int i, j; IOPMOD = 0x ; IOPCON = 0x320; // 设置 P16 和 P17 为输出, 其他 IO 口输入 // 设置 P9 为外部中断, 高电平上升沿触发 INTMOD = 0x0; INTMASK = 0x3FFFFD; // 中断为 IRQ 模式 // 屏蔽除 XIRQ1 以外的中断 for(;;) IOPDATA = 0x ; // 点亮 LED1 for(i=0; i < 65000; i++) ; // 简单延时 IOPDATA = 0; // 熄灭 LED1 for(i=0; i < 65000; i++) ; /************************************************************************* * 名称 : ISR_IrqHandler * 功能 : 中断处理函数 *************************************************************************/ void ISR_IrqHandler(void) unsigned int IntOffSet; IntOffSet = (unsigned int)intoffset; // 获取中断源 INTPEND = 1<<(IntOffSet>>2); // 清除中断挂起标志 IOPDATA = 0x ; // 点亮 LED2 /************************************************************************* * 名称 : ISR_FiqHandler * 功能 : 快速中断处理函数 *************************************************************************/ void ISR_FiqHandler(void) 建立工程选择菜单项 File > New Workspace, 系统弹出工程创建对话框, 如图 5-12 所示 : 图 5-12 工程创建对话框在工程名 (Project name) 编辑框中输入新建工程名 led_int, 工程位置 (Location) 编辑框中输入保存该工程的目录路径 C:\EmbestIDE\EV4510\led_int 选择 OK 按钮, 创建新工程 led_int, 集成环境将创建与工程同名的工作区 (workplace)

34 和工程 (project) 所示 : 在工作区窗中选择右键菜单创建源文件夹并添加相关源文件, 最终工作区显示如图 5-13 图 5-13 工作区窗口 工程配置工程创建完成后, 需要对工程进行配置,Embest IDE 才能正确的编译 链接和调试等 工程配置包括处理器的选择 仿真器配置 调试配置 目录配置 编译配置 汇编配置 链接配置, 工程配置是整个软件开发过程中非常关键的一步 选择 Project > Settings 菜单项, 弹出工程配置对话框, 如图 5-14 所示 : 图 5-14 工程配置菜单项 1 处理器配置工程配置对话框包括处理器选择 仿真器配置 调试配置 目录配置 编译配置 汇编配置 链接配置等页面 选择处理器 (Processor) 页面, 根据 S3C4510 特性做如下配置, 如图 5-15 所示 : * 选择处理器模块 (CPU Module) 为 ARM7; * 选择该模块支持的处理器系列 (CPU Family) 为 ARM7; * 选择支持的处理器成员 (CPU Member) 为 ARM7; * 设置字节排列顺序 (Endian) 为小端模式 (Little Endian); * 选择编译工具 (Build Tools) 为 GNU Tools for ARM 图 5-15 工程配置处理器页面 2 仿真器配置选择工程配置对话框调试设备配置 (Remote) 页面, 如图 5-16 所示 : * 设置仿真器为 jtagarm7; * 与调试设备的通讯类型为并行口方式 PARALLEL; * 通讯通道为第一个并行口 LPT1; 图 5-16 工程配置仿真器配置页面 3 调试设备配置选择工程配置对话框调试设备调试 (Debug) 页面, 如图 5-17 所示 : * 选择分类 (Category) 中通用选项 (General) * 设置调试符号文件 (Symbol File) 为./debug/led_int.elf; * 如果在 RAM 中调试, 设置连接仿真器后的行为 (Action after connected) 为命令脚本 (Command script); * 如果在 ROM 中调试, 设置连接仿真器后的行为 (Action after connected) 为无 (none); * 如果在 RAM 中调试, 选择执行的命令脚本文件为 boot.cs; 命令脚本文件是集成环境执行的一系列命令, 通常完成处理器所必须的初始化工作, 包括复位 存储区配置 禁止中断等, 当用户在 RAM 中调试本例时必须使用命令脚本文件将 RAM 区映射到 0 地址, 与最终固化到 Flash 的地址相同, 这样用户下载程序到 0 地址进行调试所观察到的现象与实际运行完全一致, 本例中所使用到的命令脚本 boot.cs 及其解释如下 : reset ; 复位处理器

35 stop memwrite 0x3ff4008 0xffffffff memwrite 0x3ff4004 0xffffffff memwrite 0x3ff0000 0x83ffff90 memwrite 0x3ff3010 0x00003e02 memwrite 0x3ff3014 0x1a memwrite 0x3ff302C 0x memwrite 0x3ff303C 0x9c ; 停止处理器器运行 ; 清除所有中断 ; 屏蔽所有中断 ; 配置系统寄存器 ; 配置访问宽度寄存器 ; 配置 ROM0 从 0x 到 0x1a00000 ; 配置 RAM0 从 0x0 到 0x ; 配置 DRAM 刷新参数寄存器 图 5-17 工程配置调试页面通用选项 4 选择分类 (Category) 中调试选项 (Download), 如图 5-18 所示 : * 设置下载文件 (Download file) 为./debug/led_int.elf; * 设置下载地址 (Download address) 为 0x0; * 其他使用默认设置 ; 图 5-18 工程配置调试配置页面下载选项 * 选择分类 (Category) 中调试选项 (Memory Maps), 如图 5-19 所示 : * 设置 Memory Map 为 No map file; 图 5-19 工程配置调试页面内存映射选项内存映射文件.map 文件是集成环境在调试中使用的 在软件调试过程中访问非法存储区在部分处理器和目标板上会产生异常, 如果异常没有处理, 则会导致软件调试过程无法继续, 使用存储区映像文件 (*.map) 可以防止以上问题并调整仿真器访问速度以达到最合适的水平 5 编译配置选择工程配置对话框编译配置 (Compiler) 页面, 如图 5-20 所示 : * 选择分类 (Category) 中通用选项 (General) * 设置目标文件目录 (Object files location) 为.\debug; * 其他使用默认设置 ; 图 5-20 工程配置编译页面通用选项 6 汇编配置选择工程配置对话框汇编配置 (Assembler) 页面, 如图 5-21 所示 : * 选择分类 (Category) 中通用选项 (General) * 设置目标文件目录 (Object files location) 为.\debug; * 如果需要生成最终固化程序和在 ROM 中调试, 设置预定义 (Predefines) 为 ROM=1; 在 RAM 中调试, 不设置任何预定义 * 其他使用默认设置 ; 图 5-21 工程配置汇编配置页面通用选项 7 链接配置选择工程配置对话框调试链接配置 (Linker) 页面, 如图 5-22 所示 : * 选择分类 (Category) 中通用选项 (General) * 固化程序或在 ROM 中调试时, 设置链接定位文件 (Linker script file) 为

36 ldscript.flash; * 在 RAM 中调试程序时, 设置链位脚本文件 (Linker script file) 为 ldscript; * 设置输出文件名 (Output file name) 为.\debug\led_int.elf; * 其他使用默认设置 ; 图 5-22 工程配置链接页面通用选项 在系统级别的嵌入式开发中需要使用链接定位文件, 该文件描述代码链接定位的有关信 息, 包括代码段 数据段地址等, 链接器必须使用该文件对整个系统的代码做正确的定位 本例中在 RAM 调试和固化时使用的链接定位文件不相同, 下面是固化时使用的链接定位文件 : SECTIONS. = 0x000000; 赋当前地址为 0.text : *(.text) 代码段, 在这里标识从 0 开始放置程序代码.rodata : *(.rodata) 只读数据段, 程序中的静态全局变量等固定值放在该段 Image_RO_Limit?=?.; 只读区域长度, 启动程序中使用的符号. = 0x ; 赋当前地址为 0x Image_RW_Base =.; 读写区域基地址, 启动程序中使用的符号.data : *(.data) 数据段, 程序中已初始化的全局变量放在该段 Image_ZI_Base =.; 清零区域基地址, 启动程序中使用的符号.bss : *(.bss) 包含未初始化的全局可用的数据, 如未初始化的全局变 量 Image_ZI_Limit =.; 清零区域长度, 启动程序中使用的符号 end =.; 结束地址.debug_info 0 : *(.debug_info) 调试信息输出段.debug_line 0 : *(.debug_line).debug_abbrev 0 : *(.debug_abbrev).debug_frame 0 : *(.debug_frame) 在 RAM 调试时使用的链接定位文件 : SECTIONS. = 0x000000; 赋当前地址为 0.text : *(.text) 代码段, 在这里标识从 0 开始放置程序代码 Image_RO_Limit?=?.; 只读区域长度, 启动程序中使用的符号 Image_RW_Base =.; 读写区域基地址, 启动程序中使用的符号.rodata : *(.rodata) 只读数据段, 程序中的静态全局变量等固定值放在该段.data : *(.data) 数据段, 程序中已初始化的全局变量放在该段 Image_ZI_Base =.; 清零区域基地址, 启动程序中使用的符号.bss : *(.bss) 包含未初始化的全局可用的数据, 如未初始化的全局变 量 Image_ZI_Limit =.; 清零区域长度, 启动程序中使用的符号 end =.; 结束地址.debug_info 0 : *(.debug_info) 调试信息输出段.debug_line 0 : *(.debug_line)

37 .debug_abbrev 0 : *(.debug_abbrev).debug_frame 0 : *(.debug_frame) 在 RAM 中调试软件软件的调试既可以在 ROM 区也可以在 RAM 区完成, 由于 RAM 区可以很方便地读写, 访问速度高, 因此软件开发过程中的调试只要硬件条件许可, 都应该在 RAM 区完成 软件调试前需要完成以下几步 : 编译链接工程, 连接仿真器 评估板, 程序下载 1 编译链接工程用户选择生成 (Build) 菜单, 编译相应的文件或工程, 在输出 (Output) 窗口的生成 (Build) 子窗口中输出相关编译 链接信息 按照链接配置, 程序编译通过以后在.\led_int\debug\ 目录下生成 led_int.elf 文件, 该文件包含调试信息的执行文件 2 连接仿真器 评估板选择调试 (Debug) 菜单的远程连接 (Remote Connect) 子菜单, 集成环境中的调试器通过仿真器和目标系统相连接 3 程序下载目标系统连接后, 如果在调试配置选项中设置了自动下载选项, 调试器将自动下载软件 ; 否则选择菜单调试 (Debug) 的下载 (Download) 子菜单下载程序 此时, 调试器将 led_int.elf 中的调试信息去除后下载二进制指令文件到目标板存储区指定的位置, 同时在状态条上显示下载进度 本例中设置的下载地址是 0x0, 该地址是经命令脚本映射的 RAM 存储区起始地址 下载成功后, 状态条显示 Download Completed 信息, 否则显示 Download Failed 信息 程序下载后 Embest IDE 的调试界面如图 5-23 所示, 此时可以开始进行程序的调试 图 5-23 Embest IDE 的调试界面 Embest IDE 在程序下载后显示当前下载地址对应的汇编指令, 选择右键菜单的到源文件 (Go to sourse) 子菜单可切换到源文件窗口 此时可以通过在反汇编或源文件窗口设置断点, 执行单步运行等操作, 来调试程序, 分析程序中的问题, 如图 5-24 所示 图 5-24 源程序中设置断点 软件的固化在 RAM 中调试通过的程序与最终固化到电路板的 Flash 中的程序有所区别, 读者需要 : * 在汇编器的预定义选项中设置 ROM=1, 或者直接在 init.s 文件中增加.equ ROM, 由启动文件自己完成存储区的重映射而不是由命令脚本完成 * 在链接器的链接文件中选择 ldscript.flash, 该链接文件和启动文件配合完成最初下到 Flash 中的数据段的搬运工作 完成以上改动后, 重新编译程序 然后使用 Elf to Bin 工具将 led_int.elf 文件转换成二进制指令格式文件 led_int.bin 最后使用 Embest Flash Programmer 将 led_int.bin 下载到电路板的 Flash 中, 如图 5-25 所示 图 5-25 Flash 编程器界面 Program 页面 程序在 Flash 中调试当电路板由于硬件资源限制, 比如 RAM 区空间小于程序代码空间而不能在 RAM 区调试,

38 或者需要观察程序实际在 Flash 中运行的情况时, 可以选择完成固化工作后在 Flash 中调试程序 程序在 Flash 中调试与在 RAM 中调试工程配置不同 : * 调试选项中不需要执行脚本文件, 该工作在启动文件中完成, 需要将连接后行为 (Action after connected) 选项改为无 (None); 调试过程也有所不同 : * 连接仿真器后, 无需再执行下载 (Download) 程序操作 ; * 如果要从启动程序的入口开始调试程序, 先必须执行复位 (reset) 命令, 此时程序将停在零地址处 ; * 程序在 Flash 中调试时最多可以设置两个硬件断点 嵌入式系统开发与应用教程 / 第六章 1. S3C44B0X 存储器应用编程 下面给出了存储器的几个编程实例, 包括存储控制寄存器的配置 存储器的读写, 通过 这几个简单例子, 使读者对存储器的应用编程有一定的了解 例程六 : 13 个存储控制寄存器的配置示例 ldr r0, =SMRDATA ldmia r0, r1-r13 ldr r0, =0x01c80000 ; BWSCON Address stmia r0, r1-r13 SMRDATA:.long 0x ; BWSCON.long 0x ; GCS0.long 0x ; GCS1.long 0x ; GCS2.long 0x ; GCS3.long 0x ; GCS4.long 0x ; GCS5.long 0x a ; GCS6, EDO DRAM(Trcd=3, Tcas=2, ;Tcp=1, CAN=10bit).long 0x a ; GCS7, EDO DRAM.long 0x ;Refresh(REFEN=1, TREFMD=0, Trp=3, ;Trc=5, Tchr=3).long 0x0 ; Bank Size, 32MB/32MB.long 0x20 ; MRSR 6(CL=2).long 0x20 ; MRSR 7(CL=2) 观察上面寄存器介绍中的寄存器地址可以发现,13 个寄存器分布在从 0x01c80000 开始 的连续地址空间, 所以上面的程序先将各个寄存器需要配置的值从起始地址为 SMRDATA 的区 域取出来, 然后可以利用指令 stmia r0, r1-r13 实现将配置好的寄存器的值依次 写入到相应的寄存器中, 这就完成了存储器 13 个控制寄存器的配置 例程七 : 存储器的读写代码 对存储器的读写代码可以用汇编语言来写, 也可以用 C 语言来写, 如下所示 : /***************************************************************************

39 * 名称 : crwramtest * 功能 : 使用汇编语言读写已初始化的 RAM 区, 即向一个存储器地址写一个字 半字 字节或者从一个存储器地址处读取一个字 半字 字节, 分别用相应的 LDR 和 STR 指令, 这 在第 3 章 ARM 指令中有详细介绍 ***************************************************************************/ srwramtest: LDR r2,=0x0c LDR r3,=0x55aa55aa STR r3, [r2] /* 将一个字 0x55AA55AA 写入地址 0x0C 处 */ LDR r3, [r2] /* 从地址 0x0C 处读取一个字 */ LDR r2,=0x0c LDRH r3,[r2] /* 从地址 0x0C 处读取一个半字 */ STRH r3,[r2],#2 /* 地址加 2 后, 半字 */ LDR r2,=0x0c LDRB r3, [r2] /* 从地址 0x0C 处读取一个字节 */ STRB r3,[r2],#1 /* 地址加 1 后, 向该地址写入一个字节 */ /*************************************************************************** * 名称 : crwramtest * 功能 : 使用高级语言 C 读写 RAM 区, 即向已定义的指针变量赋值或将指针变量值付给其他变量, 这需要提前定义指针变量并赋值, 并且也要定义相应的普通变量 ***************************************************************************/ #define RWram (*(unsigned long *)0x0c010200) void crwramtest(void) unsigned long * ptr =0x0c010200; // 定义一个长指针并赋初值 ; unsigned short * ptrh=0x0c010200; // 定义一个短指针并赋初值 ; unsigned char * ptrb=0x0c010200; // 定义一个字符指针并赋初值 ; unsigned char tmpb; 定义一个字符变量 unsigned short tmph; 定义一个短整型变量 unsigned long tmpw; 定义一个长整型变量 *ptr=0xaa55aa55; tmpw=*ptr; *ptr=tmpw+1; // 字长读 // 字长写 tmph=*ptrh; *ptrh=tmph+1; // 半字 // 半字 tmpb=*ptrb; // 字节

40 *ptrb=tmpb+1; // 字节 2. S3C444B0X I/O 端口应用编程下面给出了 I/O 端口的几个编程实例, 包括 I/O 端口的初始化 I/O 端口的读写, 通过这几个简单例子使读者对 I/O 端口的编程有一定的了解 例程八 : I/O 端口的初始化代码对每个 I/O 端口的配置一般按照以下步骤进行 : 1) 首先根据具体应用对端口数据寄存器设置相应的值 ; 2) 根据应用需要设置控制寄存器, 确定各个端口的具体功能 ; 3) 根据需要设置上拉电阻寄存器 具体程序代码如下 : void Port_Init(void) // PORT A GROUP rpcona=0x1ff; // PORT B GROUP rpdatb=0x7ff; rpconb=0x1cf; // PORT C GROUP // BUSWIDTH=16 rpdatc=0xff00; rpconc=0x0ff0ffff; rpupc =0x30ff; // 上拉电阻被使能 // PORT D GROUP rpdatd= 0xff; rpcond= 0xaaaa; rpupd=0x0; // PORT E GROUP rpdate = 0x1ff; rpcone = 0x25529; rpupe = 0x6; // PORT F GROUP rpdatf=0x0; rpconf=0x252a; rpupf =0x0; // PORT G GROUP rpdatg=0xff;

41 rpcong=0xffff; rpupg =0x0; rspucr=0x7; // 上拉电阻被使能 /* Low level default */ rextint=0x0; 例程九 : I/O 端口的读写代码下面是以 LED 实验中的点亮或熄灭 LED 的函数为例来介绍 I/O 口的读写 void led1_on() /* 使 led1 亮的函数 */ led_state=led_state 0x1; /* 将 led 状态变量的最低一位置 1, 其余位保留 */ Led_Display(led_state); /* 函数调用 */ void led1_off() /* 使 led1 灭的函数 */ led_state=led_state & 0xfe; /* 将 led 状态变量的最低一位置 0, 其余位保留 */ Led_Display(led_state); /* 函数调用 */ void Led_Display(int LedStatus) /*led 控制显示函数 */ led_state=ledstatus; /* 将传递来的参数值赋给 led 状态全局变量 */ if((ledstatus&0x01)==0x01) rpdatb=rpdatb&0x5ff; /* 根据状态参数, 写 B 口数据寄存器的第 9 位为 0, B 口其余位保留状态,led1 亮 */ else rpdatb=rpdatb 0x200; /* 根据状态参数, 写 B 口数据寄存器的第 9 位为 1, B 口其余位保留状态,led1 灭 */ if((ledstatus&0x02)==0x02) rpdatb=rpdatb&0x3ff; /* 根据状态参数, 写 B 口数据寄存器的第 10 位为 0, B 口其余位保留状态,led2 亮 */ else rpdatb=rpdatb 0x400; /* 根据状态参数, 写 B 口数据寄存器的第 10 位为 1, B 口其余位保留状态,led1 灭 */ 3. S3C444B0X DMA 应用编程下面给出 DMA 的几个实例, 包括 DMA 的初始化 DMA0 的测试代码, 通过这几个例子, 使读者对 DMA 的应用编程有一定的了解 例程十 : DMA 的初始化代码对 DMA0 和 DMA1 的初始化很相似, 我们以 DMA0 的初始化为例来介绍 DMA 的初始化代码 下面给出的就是 DMA0 的初始化代码 int Zdma0Int(int srcaddr,int dstaddr,int length,int dw)

办理中华人民共和国机动车驾驶证意大利语翻译须知 办理时间 预约方式 预约时间 提交材料一周后的 14:30-15:30 电话预约

办理中华人民共和国机动车驾驶证意大利语翻译须知 办理时间 预约方式 预约时间 提交材料一周后的 14:30-15:30 电话预约 办理中华人民共和国机动车驾驶证意大利语翻译须知 普通件 加急件 办理时间 预约方式 预约时间 周二 四 邮件预约 提前两 14:30- studio.canton@esteri.it 个工作 15:30 ( 预约格式见下文 ) 日 周一至周五 9:30-12:00 电话预约 020-38396225-164 提前两个工作日 取件时间 提交材料一周后的 14:30-15:30 费用 9 欧 ( 约 62)

Dettagli

补充说明书 CP 版本 1.10 中的新功能 从所有数据文件加载特定的 Live Set Sound...3 MIDI Control Delay...4 新增音色...5 新增 Live Set Sounds...6

补充说明书 CP 版本 1.10 中的新功能 从所有数据文件加载特定的 Live Set Sound...3 MIDI Control Delay...4 新增音色...5 新增 Live Set Sounds...6 补充说明书 目录 CP 版本 1.10 中的新功能.......................................... 2 从所有数据文件加载特定的 Live Set Sound..........................................3 MIDI Control Delay................................................................4

Dettagli

个性化教育计划 (PEI) 根据 1994 年 2 月 24 日的总统令第 5 条, 个人化教育计划 是载于第 13 条第 1 款第 a 款所设想的三个项目, 教学 - 教育, 康复和社会化, 协调一致的文件

个性化教育计划 (PEI) 根据 1994 年 2 月 24 日的总统令第 5 条, 个人化教育计划 是载于第 13 条第 1 款第 a 款所设想的三个项目, 教学 - 教育, 康复和社会化, 协调一致的文件 个性化教育计划 (PEI) 根据 1994 年 2 月 24 日的总统令第 5 条, 个人化教育计划 是载于第 13 条第 1 款第 a 款所设想的三个项目, 教学 - 教育, 康复和社会化, 协调一致的文件 1992 年第 104 号法律, 强制整合了残疾人士的学校和课外水平 PEI 在艺术中提及 12 第 5 段, 第 104/92 由业务残疾问题工作组 (GLHO) 起草, 由整个类别委员会与多学科单位的经营者,

Dettagli

对残疾学生中学的评估 ( 表格中学 ) 在中学,2001 年 5 月 21 日第 90 号部长命令第 15 条区分了简化和有差别的评估, 对中学没有区别 因此, 对于有残疾认证的学生来说, 可能有两种不同的途径, 一种是课程 ( 或为了达到最低目标,

对残疾学生中学的评估 ( 表格中学 ) 在中学,2001 年 5 月 21 日第 90 号部长命令第 15 条区分了简化和有差别的评估, 对中学没有区别 因此, 对于有残疾认证的学生来说, 可能有两种不同的途径, 一种是课程 ( 或为了达到最低目标, 对残疾学生中学的评估 ( 表格中学 ) 在中学,2001 年 5 月 21 日第 90 号部长命令第 15 条区分了简化和有差别的评估, 对中学没有区别 因此, 对于有残疾认证的学生来说, 可能有两种不同的途径, 一种是课程 ( 或为了达到最低目标, 从而达到定期资格 ), 一种是有区别的 ( 只允许学校出具证书但不是文凭 ) 对于个人化教育计划 (IEP) 和随后的个性化学习计划 (PSP) 中预见的这些具体学习目标,

Dettagli

键盘键值定义... 7 文件系统... 7 数据库... 7 串口设备... 8 输入法... 8 键盘... 9 图标... 9

键盘键值定义... 7 文件系统... 7 数据库... 7 串口设备... 8 输入法... 8 键盘... 9 图标... 9 目录 系统函数说明 V1.57... 6 一 类型定义... 6 二 常量定义... 6 键盘键值定义... 7 文件系统... 7 数据库... 7 串口设备... 8 输入法... 8 键盘... 9 图标... 9 三 结构体类型定义... 12 SFILE... 12 SDBF... 12 SRTC... 13 SUART... 13 SMENU... 13 四 函数定义... 14 数据库操作函数...

Dettagli

Indentificatore di intasamento del filtro dotato di display 带显示的过滤器污染识别器 MS -LFM- -DP/DN/DPI/DNI

Indentificatore di intasamento del filtro dotato di display 带显示的过滤器污染识别器 MS -LFM- -DP/DN/DPI/DNI Indentificatore di intasamento del filtro dotato di display 带显示的过滤器污染识别器 (it) Istruzioni per l uso (zh) 操作指南 8004198 1203NH Simboli/ 表示 : Avvertenza 警告 Le operazioni di montaggio e messa in servizio devono

Dettagli

欧盟推行的法规和法律以及与一些非欧洲国家签署的协议导致意大利工人的担保延长, 以及他们出国工作的原因以及生活在我们类似情况下的外国工人 但是, 对于非欧盟工人或在未签订协议的国家工作的意大利人, 保险义务是强制性的 如果工人居住在他所投保的国家以外的国家, 则代表主管机构从居住国的机构

欧盟推行的法规和法律以及与一些非欧洲国家签署的协议导致意大利工人的担保延长, 以及他们出国工作的原因以及生活在我们类似情况下的外国工人 但是, 对于非欧盟工人或在未签订协议的国家工作的意大利人, 保险义务是强制性的 如果工人居住在他所投保的国家以外的国家, 则代表主管机构从居住国的机构 Inail 为移民工人提供保护 2018 年 7 月 30 日 欧盟推行的法规和法律以及与一些非欧洲国家签署的协议导致意大利工人的担保延长, 以及他们出国工作的原因以及生活在我们类似情况下的外国工人 但是, 对于非欧盟工人或在未签订协议的国家工作的意大利人, 保险义务是强制性的 欧盟境内的移民工人的经济利益由 Inail 支付, 作为该机构的被保险工人的主管机构 ( 除非有协议或公约以不同的方式进行规范

Dettagli

轻松学中文 意大利文版. Libro di testo cinese semplificato. Yamin Ma Xinying Li

轻松学中文 意大利文版. Libro di testo cinese semplificato. Yamin Ma Xinying Li 轻松学中文 课本 Libro di testo cinese semplificato Yamin Ma Xinying Li 意大利文版 Ringraziamenti Tante persone ci hanno aiutato a portare questi libri al pubblico. Particolari ringraziamenti ai seguenti: 戚德祥, 张健,

Dettagli

OGGETTO: RICHIESTA DI ATTESTAZIONE DI IDONEITA ABITATIVA 内容 : 申请住家许可证. Il/La sottoscritto/a. 本人 Nato/a a il. 出生地址出身年月 Cittadinanza C.F.

OGGETTO: RICHIESTA DI ATTESTAZIONE DI IDONEITA ABITATIVA 内容 : 申请住家许可证. Il/La sottoscritto/a. 本人 Nato/a a il. 出生地址出身年月 Cittadinanza C.F. Marca da bollo 16,00 Area Municipio 8 Unità Servizi del Municipio ALLA DIREZIONE 管理部门 OGGETTO: RICHIESTA DI ATTESTAZIONE DI IDONEITA ABITATIVA 内容 : 申请住家许可证 Il/La sottoscritto/a 本人 Nato/a a il 出生地址出身年月

Dettagli

IRPEF 扣除 19% 的残疾人心理或心理, 伴随津贴的持有者的定义

IRPEF 扣除 19% 的残疾人心理或心理, 伴随津贴的持有者的定义 IRPEF 扣除 19% 的残疾人心理或心理, 伴随津贴的持有者的定义 精神残疾人, 被认定为残疾平民, 有伴随津贴的人和有严重残疾的人 ( 第 3 条第 104/92 号法律 ), 因此被排除在有权获得出勤津贴的智障人士之外什么购买新的或用过的交通工具的所得税减免是残疾人或有财政责任的人的责任 当一个人的年收入不超过 2,840.51 欧元时, 他就依赖于该家庭成员 我们提醒您, 支付给平民残疾人的养恤金,

Dettagli

工作事故的农业, 报告 / 远程信息通信 农业 - 事故报告 / 通知 自 2018 年 10 月 1 日起, 农业部门的雇主可以使用在线事故报告 / 通知服务

工作事故的农业, 报告 / 远程信息通信 农业 - 事故报告 / 通知 自 2018 年 10 月 1 日起, 农业部门的雇主可以使用在线事故报告 / 通知服务 工作事故的农业, 报告 / 远程信息通信 2018 年 9 月 24 日第 37 号通函 农业部门, 从 2018 年 10 月 1 日起对事故进行投诉和沟通 对于自己活动的投资和改进, 收入可以要求申请赎回年金 农业 - 事故报告 / 通知 自 2018 年 10 月 1 日起, 农业部门的雇主可以使用在线事故报告 / 通知服务 自 2018 年 9 月 24 日第 37 号通告公布之日起, 第

Dettagli

Un ponte con la Cina

Un ponte con la Cina Un ponte con la Cina A C C A D E M I A Benvenuti in Accademia Chi siamo L accademia di musica classica AGM nasce all interno dell omonima associazione, con lo scopo di valorizzare e promuovere lo studio

Dettagli

SAV srl Cossato (Biella) ITALIA via Mazzini, 7 Tel Fax

SAV srl Cossato (Biella) ITALIA via Mazzini, 7 Tel Fax Studio Anna Fileppo - Cossato (Biella) SAV srl 13836 Cossato (Biella) ITALIA via Mazzini, 7 Tel. +39.015.921375 Fax +39.015.927535 www.sav-biella.com IMPIANTO per la TINTURA SPACE DYEING UNIVERSAL Caratteristiche

Dettagli

IL REGOLAMENTO D ISTITUTO 校规 NORME CHE REGOLANO LA VITA DELL ISTITUTO 学校规定

IL REGOLAMENTO D ISTITUTO 校规 NORME CHE REGOLANO LA VITA DELL ISTITUTO 学校规定 IL REGOLAMENTO D ISTITUTO 校规 Il regolamento d Istituto è stilato secondo le indicazioni del Ministero dell Istruzione, dell Università e della Ricerca (MIUR) e comprende una parte generale e una tabella

Dettagli

Roberta Scocco ARCHITETTO. Alvaro Siza FONDAZIONE IBERE CAMARGO BRASILE

Roberta Scocco ARCHITETTO. Alvaro Siza FONDAZIONE IBERE CAMARGO BRASILE Roberta Scocco ARCHITETTO Alvaro Siza FONDAZIONE IBERE CAMARGO BRASILE Roberta Scocco ARCHITETTO Alvaro Siza FONDAZIONE IBERE CAMARGO BRASILE Alvaro Siza FONDAZIONE IBERE CAMARGO BRASILE Alvaro Siza FONDAZIONE

Dettagli

RICHIESTA PERFEZIONAMENTO DOCUMENTI 文件认证申请表

RICHIESTA PERFEZIONAMENTO DOCUMENTI 文件认证申请表 MODELLO C (da compilare in stampatello 请用意大利文印刷体填写 ) RICHIESTA PERFEZIONAMENTO DOCUMENTI 文件认证申请表 Anno Accademico( 学年 ).. All Consolato Generale d Italia a Chongqing ( 致意大利驻重庆总领事馆 ) Il sottoscritto( 本人

Dettagli

内容 : 申请住家许可证 OGGETTO: RICHIESTA DI ATTESTAZIONE DI IDONEITA ABITATIVA. Titolare di. Il con scadenza il ;

内容 : 申请住家许可证 OGGETTO: RICHIESTA DI ATTESTAZIONE DI IDONEITA ABITATIVA. Titolare di. Il con scadenza il ; 的印花税票 16,00 Area Municipio Unità Servizi del Municipio ALLA DIREZIONE 管理部门 内容 : 申请住家许可证 OGGETTO: RICHIESTA DI ATTESTAZIONE DI IDONEITA ABITATIVA 本人 Il/La sottoscritto/a 出生地址 出身年月 Nato/a a il 国籍 Cittadinanza

Dettagli

中意企业家委员会章程 STATUTO DEL BUSINESS FORUM ITALIA - CINA

中意企业家委员会章程 STATUTO DEL BUSINESS FORUM ITALIA - CINA 中意企业家委员会章程 STATUTO DEL BUSINESS FORUM ITALIA - CINA 第一章总则第一条中意企业家委员会 ( 以下简称 企委会 ) 由中华人民共和国政府与意大利共和国政府根据 2014 年 1 月 14 日由中国商务部长高虎城和意大利经济发展部长弗拉维奥 扎诺纳托共同签署的谅解备忘录成立, 旨在推动两国在贸易 投资 科技 旅游等经贸领域的合作与发展, 为双方企业提供支持

Dettagli

ALLEGATO A Fac-simile di domanda di partecipazione al bando per il doppio titolo italo-cinese

ALLEGATO A Fac-simile di domanda di partecipazione al bando per il doppio titolo italo-cinese ALLEGATO A Fac-simile di domanda di partecipazione al bando per il doppio titolo italo-cinese Anno accademico 2017-2018 Le domande di ammissione alla selezione, dovranno essere compilate in formato elettronico

Dettagli

Le scuole dell infanzia comunali

Le scuole dell infanzia comunali Comune di Bologna Settore Istruzione Lingua cinese Le scuole dell infanzia comunali Sonia Bordoni 1995 Traduzione a cura dell Associazione A.M. I. L Laboratorio di Documentazione e Formazione 2005 LE SCUOLE

Dettagli

AI GENITORI 致外籍学生家长. Come funziona la scuola secondaria di primo grado in Italia 意大利中级一阶段学校 ( 中学 ) 教育体制简介. Italiano/ 中文

AI GENITORI 致外籍学生家长. Come funziona la scuola secondaria di primo grado in Italia 意大利中级一阶段学校 ( 中学 ) 教育体制简介. Italiano/ 中文 AI GENITORI 致外籍学生家长 Come funziona la scuola secondaria di primo grado in Italia 意大利中级一阶段学校 ( 中学 ) 教育体制简介 Italiano/ 中文 11 prime informazioni per l accoglienza dei vostri figli 你们孩子初次入学的 11 条信息 BENVENUTI

Dettagli

ARCTIS 1 MANUALE DEL PRODOTTO

ARCTIS 1 MANUALE DEL PRODOTTO ARCTIS 1 MANUALE DEL PRODOTTO PANORAMICA DEL PRODOTTO 01 02 03 04 05 06 2 per assistenza, visitare support.steelseries.com 01 Archetto regolabile 02 Cavo dell auricolare principale (1,3 m) 03 Cavo di estensione

Dettagli

ISTITUTO DI ISTRUZIONE SECONDARIA SUPERIORE TECNICA E LICEALE PIERO CALAMANDREI 皮耶罗卡拉曼德莱高级中学专科技术高中和普通高中

ISTITUTO DI ISTRUZIONE SECONDARIA SUPERIORE TECNICA E LICEALE PIERO CALAMANDREI 皮耶罗卡拉曼德莱高级中学专科技术高中和普通高中 ISTITUTO DI ISTRUZIONE SECONDARIA SUPERIORE TECNICA E LICEALE PIERO CALAMANDREI 皮耶罗卡拉曼德莱高级中学专科技术高中和普通高中 Via Milazzo, 13 Sesto Fiorentino 055/4490703 055/4490704 Fax 055/4490705 地址 :Via Milazzo, 13 Sesto

Dettagli

根据客户的需 求 为客户设计专有的杰出方案和产品 提高其机器设备的价值

根据客户的需 求 为客户设计专有的杰出方案和产品 提高其机器设备的价值 Hi-Tech Solutions crea capolavori esclusivi per i propri clienti e per le loro esigenze aumentando il valore dei loro prodotti. Hi-Tech Solutions creates exclusive masterpieces for their customers and

Dettagli

AL DIRIGENTE SCOLASTICO AUTORIZZAZIONE USCITE, VISITE GUIDATE E VIAGGI DI ISTRUZIONE 同意参加由学校组织的校外活动

AL DIRIGENTE SCOLASTICO AUTORIZZAZIONE USCITE, VISITE GUIDATE E VIAGGI DI ISTRUZIONE 同意参加由学校组织的校外活动 AL DIRIGENTE SCOLASTICO AUTORIZZAZIONE USCITE, VISITE GUIDATE E VIAGGI DI ISTRUZIONE 同意参加由学校组织的校外活动 (consegnare compilato e firmato)( 填写此表并签字 ) Io sottoscritto nome cognome del padre (o di chi esercita

Dettagli

Aspetti societari cenni alla fiscalitàcinese e su come ottenere un permesso di lavoro in Cina. STUDIO LEGALE PICOZZI & MORIGI

Aspetti societari cenni alla fiscalitàcinese e su come ottenere un permesso di lavoro in Cina. STUDIO LEGALE PICOZZI & MORIGI Aspetti societari cenni alla fiscalitàcinese e su come ottenere un permesso di lavoro in Cina. STUDIO LEGALE PICOZZI & MORIGI VICENZA, PALAZZO BONIN LONGARE, 14 OTTOBRE 2014 UFFICIO DI RAPPRESENTANZA Non

Dettagli

Sensore di portata 流量传感器 SFAM. Istruzioni per l uso 中文操作手册 a

Sensore di portata 流量传感器 SFAM. Istruzioni per l uso 中文操作手册 a Sensore di portata 流量传感器 it Istruzioni per l uso 中文操作手册 756206 1103a Simboli / 图符 : Avvertenza 警告 Le operazioni di montaggio e messa in servizio possono essere eseguite solo da personale specializzato

Dettagli

Checklist for Business visa 商务签证申请审核表 - 经济贸易界人士 Documenti richiesti per visto Affari. Yes/ 有 Si?

Checklist for Business visa 商务签证申请审核表 - 经济贸易界人士 Documenti richiesti per visto Affari. Yes/ 有 Si? Checklist for Business visa 商务签证申请审核表 - 经济贸易界人士 Documenti richiesti per visto Affari Name: ( 姓名 /Nome e Cognome) Passport Number: ( 护照号 /Numero di passaporto) Contact No.: ( 联系电话 /Tel) E-mail Address:

Dettagli

意大利语经贸谈判与口译. International Business Negotiations in Lingua Italiana 授课教师 : 周莉莉

意大利语经贸谈判与口译. International Business Negotiations in Lingua Italiana 授课教师 : 周莉莉 意大利语经贸谈判与口译 International Business Negotiations in Lingua Italiana 授课教师 : 周莉莉 PRIMA LEZIONE RICHIESTA DI INFORMAZIONI IN FIERA CAMPIONARIA DI CANTON http://www.cantofair.com.cn 中国出口商品交易会, 又称广交会, 创办于

Dettagli

Checklist for Business Application (Fashion model) 商务签证申请审核表 - 照片模特, 时装模特 Documenti richiesti per Affari (modelli/modelle)

Checklist for Business Application (Fashion model) 商务签证申请审核表 - 照片模特, 时装模特 Documenti richiesti per Affari (modelli/modelle) Checklist for Business Application (Fashion model) 商务签证申请审核表 - 照片模特, 时装模特 Documenti richiesti per Affari (modelli/modelle) Name: ( 姓名 /Nome e Cognome) Passport Number: ( 护照号 /Numero di passaporto) Documents/

Dettagli

UK Italia India Bangladesh 中国

UK Italia India Bangladesh 中国 UK Italia India Bangladesh 中国 We have partnered with C2FO to facilitate accelerated payment of approved supplier invoices via their secure C2FO marketplace. C2FO has many years of experience helping numerous

Dettagli

AI GENITORI 致外籍学生家长 COME FUNZIONA LA SCUOLA PRIMARIA IN ITALIA 意大利初级学校 ( 小学 ) 教育体制简介. Italiano/ 中文

AI GENITORI 致外籍学生家长 COME FUNZIONA LA SCUOLA PRIMARIA IN ITALIA 意大利初级学校 ( 小学 ) 教育体制简介. Italiano/ 中文 AI GENITORI 致外籍学生家长 COME FUNZIONA LA SCUOLA PRIMARIA IN ITALIA 意大利初级学校 ( 小学 ) 教育体制简介 Italiano/ 中文 12 prime informazioni per l accoglienza dei vostri bambini 你们孩子初次入学的 12 条信息 2 BENVENUTI nel nostro paese

Dettagli

Domande di lavoro CV / Curriculum. Italiano

Domande di lavoro CV / Curriculum. Italiano - Dati personali Nome Nome del candidato 名字 Cognome Cognome del candidato 姓 Data di nascita Data di nascita del candidato 生日 Luogo di nascita Luogo di nascita del candidato 出生地 Nazionalità Nazionalità

Dettagli

Checklist for Business visa for fashion models 商务签证申请审核表 - 照片模特, 时装模特 Documenti richiesti per visto Affari fotomodella/o, indossatrice/ore

Checklist for Business visa for fashion models 商务签证申请审核表 - 照片模特, 时装模特 Documenti richiesti per visto Affari fotomodella/o, indossatrice/ore Checklist for Business visa for fashion models 商务签证申请审核表 - 照片模特, 时装模特 Documenti richiesti per visto Affari fotomodella/o, indossatrice/ore Documents/ 主要材料 /Documenti Schengen visa application form, original

Dettagli

NOTA BENE PRIMA DI COMPILARE:

NOTA BENE PRIMA DI COMPILARE: NOTA BENE PRIMA DI COMPILARE: - Se alleghi il VOUCHER metti la X su turismo e quando arriverai a pagina 3 indica il nome del o degli hotel con l indirizzo. Se alleghi un INVITO AFFARI metti la X su affari

Dettagli

Checklist for Business visa forfashionmodels 商务签证申请审核表 - 照片模特, 时装模特 Documenti richiesti per visto Affari fotomodella/o, indossatrice/ore

Checklist for Business visa forfashionmodels 商务签证申请审核表 - 照片模特, 时装模特 Documenti richiesti per visto Affari fotomodella/o, indossatrice/ore Checklist for Business visa forfashionmodels 商务签证申请审核表 - 照片模特, 时装模特 Documenti richiesti per visto Affari fotomodella/o, indossatrice/ore Name: ( 姓名 /Nome e Cognome) Passport Number: ( 护照号 /Numero di passaporto)

Dettagli

对需要运输的永久性步行能力降低或受阻的残疾人豁免车牌定义

对需要运输的永久性步行能力降低或受阻的残疾人豁免车牌定义 对需要运输的永久性步行能力降低或受阻的残疾人豁免车牌定义 即使在 1992 年第 104 号法律第 3 条规定的情况下没有特别严重的情况下运输的永久运动技能降低或受阻的人, 也有适应的义务 如果由于排除或限制下肢使用的病理而确定的无效性导致行走的不可能性或难度, 则扣除 减少或阻碍的永久运动技能 如果残疾人是未成年人并且报告显示 具有减少的或永久的运动技能, 则可以忽略对车辆的强制适应, 考虑到不可能事先建立必要性

Dettagli

Checklist for Tourism individual travellers 个人旅游签证申请审核表 Turismo - viaggi individuali. Yes/ 有 Si?

Checklist for Tourism individual travellers 个人旅游签证申请审核表 Turismo - viaggi individuali. Yes/ 有 Si? Checklist for Tourism individual travellers 个人旅游签证申请审核表 Turismo - viaggi individuali Documents/ 主要材料 /Documenti Schengen visa application form, original Notes: form must be duly filled in English or Italian

Dettagli

TASK CONSIGLI PER I FUTURI STUDENTI MARCO POLO 对将来马可波罗学生十种有用的建议

TASK CONSIGLI PER I FUTURI STUDENTI MARCO POLO 对将来马可波罗学生十种有用的建议 TASK CONSIGLI PER I FUTURI STUDENTI MARCO POLO 对将来马可波罗学生十种有用的建议 I seguenti consigli sono stati elaborati nel 2009 dagli studenti Marco Polo del CLA sotto la guida del tutor. Fanno parte della produzione

Dettagli

Firma del richiedente

Firma del richiedente Spettabile Censic srl Via Valerio Publicola, 139 (metro A, Lucio Sestio) 00174 Roma telefono e fax: 06/7141827 www.censicsrl.com info@censicsrl.com Sono a conoscenza del fatto che: - tutte le tariffe del

Dettagli

对于失明的人, 免除汽车交通税 (bollo)

对于失明的人, 免除汽车交通税 (bollo) 对于失明的人, 免除汽车交通税 (bollo) 定义 即使用眼镜矫正, 绝对失明或视力不超过十分之一的人 这一类别必须包括 2001 年 4 月 3 日第 138 号法律第 2,3 和 4 条所述的盲人 上述文章确切地确定了各类盲人, 提供了总盲, 部分百叶窗和严重视障人士的定义 什么对新车或二手车征收年度财产税的豁免属于盲人或对其征税的家庭成员. 当一个人的年收入不超过 2,840.51 欧元时,

Dettagli

Corso di: ARCHITETTURA E DESIGN... 3 课程 : 建筑与设计. Corso di: BIOINGEGNERIA E ROBOTICA BIOENGINEERING AND ROBOTICS...

Corso di: ARCHITETTURA E DESIGN... 3 课程 : 建筑与设计. Corso di: BIOINGEGNERIA E ROBOTICA BIOENGINEERING AND ROBOTICS... Corso di: ARCHITETTURA E DESIGN... 3 课程 : 建筑与设计 Corso di: BIOINGEGNERIA E ROBOTICA BIOENGINEERING AND ROBOTICS... 6 课程 : 生物工程与机器人技术 Corso di: BIOTECNOLOGIE IN MEDICINA TRASLAZIONALE... 11 课程 : 转化医学生物科技

Dettagli

Checklist for Family and Friends Visit 探亲访友签证申请审核表 Visita a Familiari o Amici

Checklist for Family and Friends Visit 探亲访友签证申请审核表 Visita a Familiari o Amici Checklist for Family and Friends Visit 探亲访友签证申请审核表 Visita a Familiari o Amici Documents/ 主要材料 /Documenti Schengen visa application form, original Notes: form must be duly filled in English or Italian or

Dettagli

中华人民共和国签证申请表. Modulo per la Richiesta di Visto per la Repubblica Popolare Cinese (Solo per la Cina Continentale)

中华人民共和国签证申请表. Modulo per la Richiesta di Visto per la Repubblica Popolare Cinese (Solo per la Cina Continentale) 中华人民共和国签证申请表 Modulo per la Richiesta di Visto per la Repubblica Popolare Cinese (Solo per la Cina Continentale) V.2013 申请人必须如实 完整 清楚地填写本表格 请逐项在空白处用中文或英文大写字母打印填写, 或在 内打 选择 如有关项目不 适用, 请写 «无»Il richiedente

Dettagli

Il Capitale Umano in Cina: gli investimenti in capitale umano e gli effetti nel mercato del lavoro cinese

Il Capitale Umano in Cina: gli investimenti in capitale umano e gli effetti nel mercato del lavoro cinese Corso di Laurea magistrale (LM-38) in LINGUE E ISTITUZIONI ECONOMICHE E GIURIDICHE DELL'ASIA E DELL'AFRICA MEDITERRANEA Tesi di Laurea Il Capitale Umano in Cina: gli investimenti in capitale umano e gli

Dettagli

Manuale d uso Direction for use Manuel d instructions Bedienungsanleitung Manual de istrucciones Pуководство 潜水呼吸调节器使用手册

Manuale d uso Direction for use Manuel d instructions Bedienungsanleitung Manual de istrucciones Pуководство 潜水呼吸调节器使用手册 Manuale d uso Direction for use Manuel d instructions Bedienungsanleitung Manual de istrucciones Pуководство 潜水呼吸调节器使用手册 erogatori regulators detendeur atemregler regulador пользователя 呼吸调节器 made in Italy

Dettagli

都灵 大学 生命科学与系统 生物学系 二 O 一三.

都灵 大学 生命科学与系统 生物学系 二 O 一三. 都灵 大学 生命科学与系统 生物学系 二 O 一三 www.dbios.unito.it 本 手册的目标旨在展现都灵 大学 生命科学与系统 生物学系的研究与教学活动 作为都灵 大学理学院的组成部分, 生命科学与系统 生物学系基于边缘学科研究和创新教学的原则稳步提升研究和教学质量 我们的教授和研究者们有着国内外的求学和研究经历, 他们把这些研究经验带到他们的教学中 通过与其他系和学院的紧密合作, 我系拥有

Dettagli

旅行社需提供的材料 : 旅程的相关信息 : 详细的行程 ; 酒店预订单 ; 机票预订单 ; 交通方式信息 ; 所有申请人的医疗保险 ( 包含整个行程且在整个申根地区有效 : 涵盖意外医疗费用, 住院费用及返送回国费用 最低保额三万欧元 )

旅行社需提供的材料 : 旅程的相关信息 : 详细的行程 ; 酒店预订单 ; 机票预订单 ; 交通方式信息 ; 所有申请人的医疗保险 ( 包含整个行程且在整个申根地区有效 : 涵盖意外医疗费用, 住院费用及返送回国费用 最低保额三万欧元 ) Checklist for Tourism ADS groups ADS 旅游签证申请审核表 Turismo gruppi ADS To be provided by the travel agency: Information on the tour: detailed itinerary; hotel booking; flight reservation; transportation details;

Dettagli

ISTITUTO COMPRENSIVO PIAZZA WINCKELMANN

ISTITUTO COMPRENSIVO PIAZZA WINCKELMANN ISTITUTO COMPRENSIVO PIAZZA WINCKELMANN La nostra scuola per le famiglie cinesi 我们的学校为中国家庭 A cura di 1 BENVENUTI NELLA NOSTRA SCUOLA E FORMATA DA QUATTRO PLESSI: SCUOLA DELL INFANZIA STATALE, Via Nomentana,

Dettagli

1.7 曾有国籍 Cittadinanza/e precedente/i. 外交 Diplomatico 普通 Ordinario 签发日期 Data di rilascio del Passaporto (AAAA-MM-GG)

1.7 曾有国籍 Cittadinanza/e precedente/i. 外交 Diplomatico 普通 Ordinario 签发日期 Data di rilascio del Passaporto (AAAA-MM-GG) Form V.2013 中华人民共和国签证申请表 Modulo per la Richiesta di Visto per la Repubblica Popolare Cinese (Solo per la Cina Continentale) 申请人必须如实 完整 清楚地填写本表格 请逐项在空白处用中文或英文大写字母打印填写, 或在 内打 选择 如有关项目不适用, 请写 无 Il richiedente

Dettagli

豁免缴纳汽车税, 适用于智障人士, 附带福利的持有人

豁免缴纳汽车税, 适用于智障人士, 附带福利的持有人 豁免缴纳汽车税, 适用于智障人士, 附带福利的持有人 定义被认定为残疾平民的残疾人, 伴随津贴的持有者和处于严重残疾状况的人 ( 第 104/92 号法律第 3 条 ) 被排除在有权享受出勤津贴的智障人士之外 什么免除支付新车或二手车的年度所有权税属于精神残疾者或属于他的财产上的家庭成员 / 法定监护人 当一个人的年收入不超过 2,840.51 时, 他就依赖于家庭成员 回想一下, 支付给平民的养恤金,

Dettagli

Spielanleitung Instruction*Régle du jeu*spelregels*regla del juego Manuale* D EN F NL ES I CHN. Mecki & Co 刺猬游戏. Nr.: 22355

Spielanleitung Instruction*Régle du jeu*spelregels*regla del juego Manuale* D EN F NL ES I CHN. Mecki & Co 刺猬游戏. Nr.: 22355 Spielanleitung Instruction*Régle du jeu*spelregels*regla del juego Manuale* D EN F NL ES I CHN Mecki & Co 刺猬游戏 Nr.: 22355 3 4 5 6 7 Art. Nr.: 22355 MECKI & CO Un divertente gioco di dadi adatto a grandi

Dettagli

NOTA BENE PRIMA DI COMPILARE:

NOTA BENE PRIMA DI COMPILARE: NOTA BENE PRIMA DI COMPILARE: - Se alleghi il VOUCHER metti la X su turismo e quando arriverai a pagina 3 indica il nome del o degli hotel con l indirizzo. Se alleghi un INVITO AFFARI metti la X su affari

Dettagli

Il Pacchetto Ambiente 中意环保领域 合作方案. Pechino, 14 Gennaio 年一月 14 日, 北京

Il Pacchetto Ambiente 中意环保领域 合作方案. Pechino, 14 Gennaio 年一月 14 日, 北京 Il Pacchetto Ambiente 中意环保领域 合作方案 Pechino, 14 Gennaio 2014 2014 年一月 14 日, 北京 La crescita economica degli ultimi anni ha generato in Cina problemi ambientali e sociali 中国近几年的经济增长所引发的环境和社会问题 (*) Costi sociali

Dettagli

Checklist for self-employment (for already existing companies) 自雇 ( 已存在公司 ) 申请审核表 Documenti richiesti per Lavoro Autonomo (figura societaria)

Checklist for self-employment (for already existing companies) 自雇 ( 已存在公司 ) 申请审核表 Documenti richiesti per Lavoro Autonomo (figura societaria) Checklist for self-employment (for already existing companies) 自雇 ( 已存在公司 ) 申请审核表 Documenti richiesti per Lavoro Autonomo (figura societaria) Documents/ 主要材料 /Documenti National visa application form,

Dettagli

Checklist for Family and Friends Visit 探亲访友签证申请审核表 Visita a Famigliari o Amici

Checklist for Family and Friends Visit 探亲访友签证申请审核表 Visita a Famigliari o Amici Checklist for Family and Friends Visit 探亲访友签证申请审核表 Visita a Famigliari o Amici Name: ( 姓名 /Nome e Cognome) Passport Number: ( 护照号 /Numero di passaporto Documents/ 主要材料 /Documenti Schengen visa application

Dettagli

Purpose of Visit: ( 访问目的 /Finalita del viaggio) Contact No.: ( 联系电话 /Tel) Address: ( 邮件地址 /Indirizzo ) Yes/ 有 Si

Purpose of Visit: ( 访问目的 /Finalita del viaggio) Contact No.: ( 联系电话 /Tel)  Address: ( 邮件地址 /Indirizzo  ) Yes/ 有 Si Checklist for Elective Residence(in presence of residential real estate investments in Italy) 选择居住核对表 ( 在意大利购买用于居住的房产 ) Residenza elettiva (in presenza di acquisto di immobile uso abitativo in Italia)

Dettagli

Checklist for self-employment (for already existing companies) 自雇 ( 已存在公司 ) 申请审核表 Documenti richiesti per Lavoro Autonomo (figura societaria)

Checklist for self-employment (for already existing companies) 自雇 ( 已存在公司 ) 申请审核表 Documenti richiesti per Lavoro Autonomo (figura societaria) Checklist for self-employment (for already existing companies) 自雇 ( 已存在公司 ) 申请审核表 Documenti richiesti per Lavoro Autonomo (figura societaria) Documents/ 主要材料 /Documenti National visa application form,

Dettagli

Gli investimenti diretti esteri in uscita cinesi: la nuova Via della Seta

Gli investimenti diretti esteri in uscita cinesi: la nuova Via della Seta Corso di Laurea magistrale (ordinamento ex D.M. 270/2004) in Lingue e istituzioni economiche e giuridiche dell Asia e dell Africa Mediterannea Tesi di Laurea Gli investimenti diretti esteri in uscita cinesi:

Dettagli

In risposta all'annuncio apparso ne... 我写这封信是看到您在... 上登的招聘信息 Formula standard in risposta ad un'inserzione di lavoro online Dopo aver letto il Suo ann

In risposta all'annuncio apparso ne... 我写这封信是看到您在... 上登的招聘信息 Formula standard in risposta ad un'inserzione di lavoro online Dopo aver letto il Suo ann - Introduzione Gentilissimo, 尊敬的先生, Formale, destinatario di sesso maschile, nome sconosciuto Gentilissima, 尊敬的女士, Formale, destinatario di sesso femminile, nome sconosciuto Gentili Signore e Signori,

Dettagli

ISTITUTO COMPRENSIVO VIA BOCCIONI

ISTITUTO COMPRENSIVO VIA BOCCIONI ISTITUTO COMPRENSIVO VIA BOCCIONI La nostra scuola per le famiglie cinesi 我们的学校为中国家庭 A cura di 1 BENVENUTI NELLA NOSTRA SCUOLA E FORMATA DA QUATTRO PLESSI: SCUOLA DELL INFANZIA CASA DEI BAMBINI VIA DI

Dettagli

残疾驾驶员免缴车辆税, 持有人执照 b, 行走能力下降

残疾驾驶员免缴车辆税, 持有人执照 b, 行走能力下降 残疾驾驶员免缴车辆税, 持有人执照 b, 行走能力下降 定义特殊驾驶执照 B 的持有人, 减少或阻碍驾驶技能, 并有义务对已进行更改的车辆使用特殊驾驶装置 适用于驾驶的车辆也包括仅配备自动变速器的车辆, 前提是由当地医疗委员会规定 什么对新车或二手车征收年度财产税的豁免属于盲人或对其征税的家庭成员. 当一个人的年收入不超过 2,840.51 欧元时, 他就依赖于家庭成员 ( 民法第 433 条 )

Dettagli

), 或者到税务局的当地办事处 一旦被接受, 豁免被视为有效, 直至情况保持不变 一些地区 ( 阿布鲁佐, 巴西利卡塔, 坎帕尼亚, 艾米利亚罗马涅, 拉齐奥, 利古里亚, 伦巴第, 普利亚, 托斯卡纳, 翁布里亚, 瓦莱达奥斯塔 ) 以及特伦托和博尔扎诺等省, 用于管理免缴汽车税,

), 或者到税务局的当地办事处 一旦被接受, 豁免被视为有效, 直至情况保持不变 一些地区 ( 阿布鲁佐, 巴西利卡塔, 坎帕尼亚, 艾米利亚罗马涅, 拉齐奥, 利古里亚, 伦巴第, 普利亚, 托斯卡纳, 翁布里亚, 瓦莱达奥斯塔 ) 以及特伦托和博尔扎诺等省, 用于管理免缴汽车税, 豁免财产税车, 耳聋残疾人 定义根据 1970 年 5 月 26 日第 381 号法律, 在发育年龄期间患有先天性或后天性耳聋的人, 这阻碍了口语的正常学习 什么豁免支付新车或二手车的年度所有权税属于聋人或向其提供财务指控的家庭成员 / 法定监护人 当一个人的年收入不超过 2,840.51 欧元时, 他就依赖于家庭成员 ( 民法第 433 条 ) 回想一下, 支付给平民的养恤金, 支票和津贴不计入

Dettagli

Yes/ 有 Si? No/ 没有 /No?

Yes/ 有 Si? No/ 没有 /No? Checklist for self-employment (categorie fuori quota Decreto flussi) 自雇 ( 特别法令配额外 ) 申请审核表 Documenti richiesti per Lavoro Autonomo (other than limited number categories ex Decreto flussi law) Documents/

Dettagli

Corso di: DIGITAL HUMANITIES. TECNOLOGIE DIGITALI, ARTI, LINGUE, CULTURE E COMUNICAZIONE26

Corso di: DIGITAL HUMANITIES. TECNOLOGIE DIGITALI, ARTI, LINGUE, CULTURE E COMUNICAZIONE26 Corso di: ARCHITETTURA E DESIGN... 3 课程 : 建筑与设计 Corso di: BIOINGEGNERIA E ROBOTICA BIOENGINEERING AND ROBOTICS... 7 课程 : 生物工程与机器人技术 Corso di: BIOTECNOLOGIE IN MEDICINA TRASLAZIONALE... 15 课程 : 转化医学生物科技

Dettagli

ISTITUTO COMPRENSIVO LUIGI SETTEMBRINI

ISTITUTO COMPRENSIVO LUIGI SETTEMBRINI ISTITUTO COMPRENSIVO LUIGI SETTEMBRINI La nostra scuola per le famiglie cinesi 我们的学校为中国家庭 A cura di 1 BENVENUTI NELLA NOSTRA SCUOLA E FORMATA DA TRE PLESSI: SCUOLA PRIMARIA XX Settembre Via Novara, 22

Dettagli

Checklist for Study (other than University enrolment) 学习 ( 除大学预注册 ) 签证申请审核表 Documenti richiesti per Studio post-universitario o corsi singoli o scambi

Checklist for Study (other than University enrolment) 学习 ( 除大学预注册 ) 签证申请审核表 Documenti richiesti per Studio post-universitario o corsi singoli o scambi Checklist for Study (other than University enrolment) 学习 ( 除大学预注册 ) 签证申请审核表 Documenti richiesti per Studio post-universitario o corsi singoli o scambi Documents/ 主要材料 /Documenti National or Schengen visa

Dettagli

POWDER METAL SOLUTIONS SOLUZIONI PER POLVERI METALLICHE 粉末冶金解决方案 更好的粉末冶金

POWDER METAL SOLUTIONS SOLUZIONI PER POLVERI METALLICHE 粉末冶金解决方案 更好的粉末冶金 POWDER METAL SOLUTIONS SOLUZIONI PER POLVERI METALLICHE 粉末冶金解决方案 更好的粉末冶金 Enjoy completeness Scegliete la completezza 完美品鉴 PRESSES PRESSE 液压机 Precision and efficiency from 30 to 1600 ton. The result of

Dettagli

Checklist for Study- University pre-enrolment (Marco Polo Turandot) 大学预注册签证审核表 - 马可波罗图兰朵

Checklist for Study- University pre-enrolment (Marco Polo Turandot) 大学预注册签证审核表 - 马可波罗图兰朵 Checklist for Study- University pre-enrolment (Marco Polo Turandot) 大学预注册签证审核表 - 马可波罗图兰朵 Documenti richiesti per Studio- pre-iscrizione universitaria(marco / Polo Turandot) Documents/ 主要材料 /Documenti National

Dettagli

Come prevenire i rischi per la salute e sicurezza nella mia azienda 如何防范工作场所的健康风险与安全隐患

Come prevenire i rischi per la salute e sicurezza nella mia azienda 如何防范工作场所的健康风险与安全隐患 Come prevenire i rischi per la salute e sicurezza nella mia azienda 如何防范工作场所的健康风险与安全隐患 如何防范工作场所的健康风险与安全隐患 企业安全生产应遵循的条款目录 : 风险评估与培训 工作场所 有害物质 货架和货物的存放 电气设备及其相关材料 机器 人工装卸货物 孕妇和儿童 结论风险评估与培训雇主必须进行风险评估, 并详细填写相关的证明,

Dettagli

Checklist for self-employment (business owner) 自雇 ( 个体 ) 签证申请审核表 Documenti richiesti per Lavoro Autonomo (apertura nuova società) Yes/ 有 Si?

Checklist for self-employment (business owner) 自雇 ( 个体 ) 签证申请审核表 Documenti richiesti per Lavoro Autonomo (apertura nuova società) Yes/ 有 Si? Checklist for self-employment (business owner) 自雇 ( 个体 ) 签证申请审核表 Documenti richiesti per Lavoro Autonomo (apertura nuova società) Documents/ 主要材料 /Documenti National visa application form, original Notes:

Dettagli

Checklist for self-employment (business owner) 自雇 ( 个体 ) 签证申请审核表 Documenti richiesti per Lavoro Autonomo(apertura nuova società) Yes/ 有 Si?

Checklist for self-employment (business owner) 自雇 ( 个体 ) 签证申请审核表 Documenti richiesti per Lavoro Autonomo(apertura nuova società) Yes/ 有 Si? Checklist for self-employment (business owner) 自雇 ( 个体 ) 签证申请审核表 Documenti richiesti per Lavoro Autonomo(apertura nuova società) Documents/ 主要材料 /Documenti National visa application form, original Notes:

Dettagli

Come prevenire i rischi per la salute e sicurezza nella mia azienda

Come prevenire i rischi per la salute e sicurezza nella mia azienda Come prevenire i rischi per la salute e sicurezza nella mia azienda 如何防范工作场所的健康风险与安全隐患 La sicurezza di oggi è il benessere di domani 有今天的安全, 才有明日的安逸 如何防范工作场所的健康风险与安全隐患 企业安全生产应遵循的条款目录 : 风险评估与培训 工作场所 有害物质

Dettagli

Corso di: ARCHITETTURA E DESIGN 课程 : 建筑与设计 2. Corso di: BIOINGEGNERIA E ROBOTICA BIOENGINEERING AND ROBOTICS 课程 : 生物工程与机器人 技术 7

Corso di: ARCHITETTURA E DESIGN 课程 : 建筑与设计 2. Corso di: BIOINGEGNERIA E ROBOTICA BIOENGINEERING AND ROBOTICS 课程 : 生物工程与机器人 技术 7 Corso di: ARCHITETTURA E DESIGN 课程 : 建筑与设计 2 Corso di: BIOINGEGNERIA E ROBOTICA BIOENGINEERING AND ROBOTICS 课程 : 生物工程与机器人 技术 7 Corso di: BIOTECNOLOGIE IN MEDICINA TRASLAZIONALE 课程 : 转化医学生物科技 9 Corso di:

Dettagli

停车位租赁合同 Contratto di locazione del parcheggio 甲方 : 重庆华迅地产发展有限公司 Parte A: Chongqing Huaxun Real Estate Development Co. Ltd 乙方 : 意大利驻重庆总领事馆 Parte B: Con

停车位租赁合同 Contratto di locazione del parcheggio 甲方 : 重庆华迅地产发展有限公司 Parte A: Chongqing Huaxun Real Estate Development Co. Ltd 乙方 : 意大利驻重庆总领事馆 Parte B: Con 停车位租赁合同 Contratto di locazione del parcheggio 甲方 : 重庆华迅地产发展有限公司 Parte A: Chongqing Huaxun Real Estate Development Co. Ltd 乙方 : 意大利驻重庆总领事馆 Parte B: Consolato Generale d Italia a Chongqing 合同编号 : Codice:

Dettagli

SISTEMA DI DOSAGGIO E PESATURA PER AUTOBETONIERE AUTOCARICANTI DOSING AND WEIGHING SYSTEMS FOR SELF-LOADING MOBILE CONCRETE MIXERS

SISTEMA DI DOSAGGIO E PESATURA PER AUTOBETONIERE AUTOCARICANTI DOSING AND WEIGHING SYSTEMS FOR SELF-LOADING MOBILE CONCRETE MIXERS SISTEMA DI DOSAGGIO E PESATURA PER AUTOBETONIERE AUTOCARICANTI DOSING AND WEIGHING SYSTEMS FOR SELF-LOADING MOBILE CONCRETE MIXERS 自上料混凝土搅拌车的计量和称重系统 HI-TECH SOLUTIONS CREA CAPOLAVORI ESCLUSIVI PER I PROPRI

Dettagli

No/ 没有 /No? Yes/ 有 Si? Remarks/ 注明 /Note. Documents/ 主要材料 /Documenti. Contact No.: ( 联系电话 /Tel) Name: ( 姓名 /Nome e Cognome)

No/ 没有 /No? Yes/ 有 Si? Remarks/ 注明 /Note. Documents/ 主要材料 /Documenti. Contact No.: ( 联系电话 /Tel) Name: ( 姓名 /Nome e Cognome) Checklist for Study- University pre-enrolment (Marco Polo Turandot) 大学预注册签证审核表 - 马可波罗图兰朵 Documenti richiesti per Studio- pre-iscrizione universitaria(marco Polo Turandot) Name: ( 姓名 /Nome e Cognome) Passport

Dettagli

L immigrazione cinese in provincia di Mantova Studio preliminare su alcune dinamiche demografiche, occupazionali e scolastiche

L immigrazione cinese in provincia di Mantova Studio preliminare su alcune dinamiche demografiche, occupazionali e scolastiche Corso di Laurea magistrale in Lingue e civiltà dell Asia e dell Africa mediterranea Tesi di Laurea L immigrazione cinese in provincia di Mantova Studio preliminare su alcune dinamiche demografiche, occupazionali

Dettagli

Checklist for Study Post graduation. Documenti richiesti per Studio Post laurea. Yes/ 有 Si?

Checklist for Study Post graduation. Documenti richiesti per Studio Post laurea. Yes/ 有 Si? Checklist for Study Post graduation 本科以上 学习签证申请审核表 Documenti richiesti per Studio Post laurea Documents/ 主要材料 /Documenti Schengen or National visa application form, original Notes: Schengen form for stay

Dettagli

LISTA CARATTERI CON PINYIN E SIGNIFICATO

LISTA CARATTERI CON PINYIN E SIGNIFICATO LISTA CARATTERI CON PINYIN E SIGNIFICATO In questo documento vengono elencati i caratteri facenti parte dell HSK1 (in caso di parole composte da più caratteri verrà immessa l intera parola) con relativa

Dettagli

Maldun vir 字节. PE32 executable (GUI) Intel 80386, for MS Windows. c9931c607af9ba2b828adc3797b04658

Maldun vir 字节. PE32 executable (GUI) Intel 80386, for MS Windows. c9931c607af9ba2b828adc3797b04658 魔盾安全分析报告 分析类型 开始时间 结束时间 持续时间 分析引擎版本 FILE 2016-05-08 20:53:20 2016-05-08 20:55:35 135 秒 1.4-Maldun 虚拟机机器名 标签 虚拟机管理 开机时间 关机时间 win7-sp1-x64 win7-sp1-x64 KVM 2016-05-08 20:53:20 2016-05-08 20:55:35 魔盾分数 4.1

Dettagli

FortiGate 新品发布 3016B,3810A

FortiGate 新品发布 3016B,3810A FortiGate 新品发布 3016B,3810A FortiGate 1000A-3800A 系列展示 FortiGuard 安全服务 防病毒防病毒 (AV) (AV) (Includes Anti-Spyware) 21% 38% 9% 9% 1% 2% 2% 2% 2% 7% 7% Web Web 过滤过滤 (WF) (WF) 20 亿以上的 Web 网页库 82+ 以上 Web 分类 高效速度,

Dettagli

Checklist for Vocational training or internship 职业培训或实习签证申请审核表 Documenti richiesti per Formazione professionale o Tirocinio. Yes/ 有 Si?

Checklist for Vocational training or internship 职业培训或实习签证申请审核表 Documenti richiesti per Formazione professionale o Tirocinio. Yes/ 有 Si? Checklist for Vocational training or internship 职业培训或实习签证申请审核表 Documenti richiesti per Formazione professionale o Tirocinio Documents/ 主要材料 /Documenti National or Schengen visa application form, original

Dettagli

Titolo. Corso di Laurea magistrale (ordinamento ex D.M. 270/2004) Tesi di Laurea

Titolo. Corso di Laurea magistrale (ordinamento ex D.M. 270/2004) Tesi di Laurea Corso di Laurea magistrale (ordinamento ex D.M. 270/2004) in Lingue e istituzioni economiche e giuridiche dell Asia e dell Africa mediterranea Tesi di Laurea Titolo Requisiti strategici e peculiarità strutturali

Dettagli

INDICE GUIDA SULLA SICUREZZA DEI FUOCHI D ARTIFICIO

INDICE GUIDA SULLA SICUREZZA DEI FUOCHI D ARTIFICIO INDICE pag.3 GUIDA SULLA SICUREZZA DEI FUOCHI D ARTIFICIO pag.4 消费者烟火制品安全使用手册 pag.5 NORMATIVA EUROPEA, CATEGORIE FUOCHI ARTIFICIALI MARCATI CE pag.7 PETARDI pag.15 FONTANE pag.42 GIRANDOLE pag.46 BENGALA

Dettagli

Checklist for self-employment (artisti di chiara fama) 自雇 ( 享有盛誉的艺术家 ) 申请审核表 Documenti richiesti per Lavoro Autonomo (highest repute artists)

Checklist for self-employment (artisti di chiara fama) 自雇 ( 享有盛誉的艺术家 ) 申请审核表 Documenti richiesti per Lavoro Autonomo (highest repute artists) Checklist for self-employment (artisti di chiara fama) 自雇 ( 享有盛誉的艺术家 ) 申请审核表 Documenti richiesti per Lavoro Autonomo (highest repute artists) Documents/ 主要材料 /Documenti National visa application form,

Dettagli

Gli alimenti di origine animale prodotti in RPC: principali difformità riscontrate

Gli alimenti di origine animale prodotti in RPC: principali difformità riscontrate Gli alimenti di origine animale prodotti in RPC: principali difformità riscontrate Dr.ssa Paola Marconi Istituto Zooprofilattico Sperimentale Lazio e Toscana Imprese Alimentari ed Operatori cinesi a Prato:

Dettagli

Essiccatore ad adsorbimento 吸附式干燥器 PDAD. per l uso. (zh) 操作指南 d [ ]

Essiccatore ad adsorbimento 吸附式干燥器 PDAD. per l uso. (zh) 操作指南 d [ ] Essiccatore ad adsorbimento 吸附式干燥器 PDAD (it) Istruzioni per l uso (zh) 操作指南 8040814 1410d [8040817] Le operazioni di montaggio e messa in funzione devono essere eseguite solo da personale qualificato,

Dettagli

Checklist for Study University pre- enrolment 大学预注册签证申请审核表 Documenti richiesti per Studio pre-iscrizione universitaria. Yes/ 有 Si?

Checklist for Study University pre- enrolment 大学预注册签证申请审核表 Documenti richiesti per Studio pre-iscrizione universitaria. Yes/ 有 Si? Checklist for Study University pre- enrolment 大学预注册签证申请审核表 Documenti richiesti per Studio pre-iscrizione universitaria Documents/ 主要材料 /Documenti National visa application form, original Notes: form must

Dettagli

One World, One China

One World, One China Corso di Laurea magistrale in Lingue e istituzioni economiche e giuridiche dell Asia e dell Africa Mediterranea Tesi di Laurea One World, One China Analisi dei metodi e delle strategie di globalizzazione

Dettagli

La comunità cinese di Prato Tra regole e tradizioni

La comunità cinese di Prato Tra regole e tradizioni Università Ca Foscari Venezia Corso di Laurea magistrale (ordinamento ex D.M. 270/2004) in Lingue e Istituzioni Economiche e Giuridiche dell Asia e dell Africa Mediterranea Tesi di Laurea Ca Foscari Dorsoduro

Dettagli

Le disuguaglianze e le politiche pubbliche in Cina

Le disuguaglianze e le politiche pubbliche in Cina Corso di Laurea magistrale (ordinamento ex D.M. 270/2004) in Lingue e Istituzioni Economiche e Giuridiche dell Asia e dell Africa Mediterranea Tesi di Laurea Le disuguaglianze e le politiche pubbliche

Dettagli