Introduction

Saeed Ehteshamifar salpha.2004 at gmail.com
Thu Oct 13 07:28:00 UTC 2016


mid or long term goal is to run RTEMS on my mini2440 board[1].
>
> [1] http://www.friendlyarm.net/products/mini2440


Hi,

AFAIK there is no official BSP support for mini2440. There was a discussion
roughly 4 years back with Bacon Xu regarding a patch that adds the support
to rtems 4.10.2. However, I couldn't find it in the mailing list archive,
perhaps the list was cleaned.
The patch was never merged into the upstream and I'm not sure if it was
published on the web at all. I found it in my files and have attached it to
the email.
There is another patch for mini2440 support on rtems 4.10.*1*, which you
can find at: http://blog.csdn.net/rickleaf/article/details/7067581. Please
note however that it doesn't work right out-of-the-box and needs additional
modifications.

Best Regards,
Saeed


>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20161013/75e2be45/attachment-0002.html>
-------------- next part --------------
Only in rtems-4.10.2-with2440(Q)/c/src/lib/libbsp/arm: mini2440
Only in rtems-4.10.2-with2440(Q)/c/src/lib/libcpu/arm/s3c24xx/include: s3c2440.h
Only in rtems-4.10.2-with2440(Q)/c/src/lib/libcpu/arm: preinstall.am.orig
diff -r rtems-4.10.2/c/src/lib/libbsp/arm/acinclude.m4 rtems-4.10.2-with2440(Q)/c/src/lib/libbsp/arm/acinclude.m4
22a23,24
>   mini2440 )
>     AC_CONFIG_SUBDIRS([mini2440]);;
diff -r rtems-4.10.2/c/src/lib/libcpu/arm/configure.ac rtems-4.10.2-with2440(Q)/c/src/lib/libcpu/arm/configure.ac
25a26
> 		       test "$RTEMS_CPU_MODEL" = "s3c2440" || \
34a36
>                         test "$RTEMS_CPU_MODEL" = "s3c2440" ||\
diff -r rtems-4.10.2/c/src/lib/libcpu/arm/Makefile.am rtems-4.10.2-with2440(Q)/c/src/lib/libcpu/arm/Makefile.am
140c140,141
< include_HEADERS = s3c24xx/include/s3c24xx.h s3c24xx/include/s3c2400.h s3c24xx/include/s3c2410.h
---
> include_HEADERS = s3c24xx/include/s3c24xx.h s3c24xx/include/s3c2400.h s3c24xx/include/s3c2410.h \
>     s3c24xx/include/s3c2440.h
diff -r rtems-4.10.2/c/src/lib/libcpu/arm/preinstall.am rtems-4.10.2-with2440(Q)/c/src/lib/libcpu/arm/preinstall.am
111a112,115
> $(PROJECT_INCLUDE)/s3c2440.h: s3c24xx/include/s3c2440.h $(PROJECT_INCLUDE)/$(dirstamp)
> 	$(INSTALL_DATA) {1}lt; $(PROJECT_INCLUDE)/s3c2440.h
> PREINSTALL_FILES += $(PROJECT_INCLUDE)/s3c2440.h
> 
diff -r rtems-4.10.2/c/src/lib/libcpu/arm/s3c24xx/clock/clockdrv.c rtems-4.10.2-with2440(Q)/c/src/lib/libcpu/arm/s3c24xx/clock/clockdrv.c
82a83,102
> #ifdef CPU_S3C2440
> #define Clock_driver_support_initialize_hardware() \
>   do { \
>         uint32_t cr; \
>         uint32_t freq; \
>         /* set MUX for Timer4 to 1/2 */ \
>         cr=rTCFG1 & (~(0xf<<16)); \
>         rTCFG1=(cr | (0<<16)); \
>         freq = get_PCLK(); \
>         /* set TIMER4 counter, input freq=PLCK/16/16Mhz*/ \
>         freq = (freq /16); \
>         rTCNTB4 = ((freq / 1000) * rtems_configuration_get_microseconds_per_tick()) / 1000; \
>         /*unmask TIMER4 irq*/ \
>         rINTMSK&=~BIT_TIMER4; \
>         /* start TIMER4 with autoreload */ \
>         cr=rTCON & 0xFF8FFFFF; \
>         rTCON=(cr|(0x6<<20)); \
>         rTCON=(cr|(0x5<<20)); \
>     } while (0)
> #else
100a121
> #endif
diff -r rtems-4.10.2/c/src/lib/libcpu/arm/s3c24xx/include/s3c24xx.h rtems-4.10.2-with2440(Q)/c/src/lib/libcpu/arm/s3c24xx/include/s3c24xx.h
14a15,16
> #elif defined CPU_S3C2440
> #include<s3c2440.h>
diff -r rtems-4.10.2/c/src/lib/libcpu/arm/s3c24xx/irq/irq.h rtems-4.10.2-with2440(Q)/c/src/lib/libcpu/arm/s3c24xx/irq/irq.h
88a89,122
> 
> #elif defined CPU_S3C2440
>   /* possible interrupt sources */
> #define BSP_EINT0             0
> #define BSP_EINT1             1
> #define BSP_EINT2             2
> #define BSP_EINT3             3
> #define BSP_EINT4_7           4
> #define BSP_EINT8_23          5
> #define BSP_nBATT_FLT         7
> #define BSP_INT_TICK          8
> #define BSP_INT_WDT           9
> #define BSP_INT_TIMER0       10
> #define BSP_INT_TIMER1       11
> #define BSP_INT_TIMER2       12
> #define BSP_INT_TIMER3       13
> #define BSP_INT_TIMER4       14
> #define BSP_INT_UART2        15
> #define BSP_INT_LCD          16
> #define BSP_INT_DMA0         17
> #define BSP_INT_DMA1         18
> #define BSP_INT_DMA2         19
> #define BSP_INT_DMA3         20
> #define BSP_INT_SDI          21
> #define BSP_INT_SPI0         22
> #define BSP_INT_UART1        23
> #define BSP_INT_USBD         25
> #define BSP_INT_USBH         26
> #define BSP_INT_IIC          27
> #define BSP_INT_UART0        28
> #define BSP_INT_SPI1         29
> #define BSP_INT_RTC          30
> #define BSP_INT_ADC          31
> #define BSP_MAX_INT          32


More information about the users mailing list