HWPORT PGL(Porting Glue Layer) SDK

대문 / 공개프로젝트 / HWPORT PGL(Porting Glue Layer) SDK

HWPORT PGL(Porting Glue Layer) SDK

1.1. 시작하기전에

개발을 하다가 보면 표준 API만으로는 많이 부족한 것을 느낍니다. 또한 OS마다 제공되는 API가 상이한것이 많아서 OS 독립적인 솔루션을 만드는데는 많은 시간이 투여되어야 하고 시행착오도 상당하다는 것을 느낍니다. 그래서 필자는 소스 공개까지는 아니지만 이러한 부분을 긁어줄수 있는 무언가가 있으면 좋겠다는 생각을 하였고 이를 Library 형태로 공개하려 합니다.

사용하실 분들이 많을지는 모르지만 부분적으로 일부는 예제 및 소스도 공개하면서 이 Project를 시작하려 합니다.

기본적으로 공개되는 것은 각 OS별 Library(Binary)를 제공하는 형태가 될것이며 필요한 경우 개발환경만 제공해주시면 관련 Platform으로의 Porting 작업후 제공해 드릴수 있을거라 생각합니다.

개선이 필요하거나 기능추가 또는 Platform porting 관련 요청사항이 있으시면 E-Mail(Mminzkn@minzkn.com)을 보내주세요.

1.2. HWPORT PGL Download

1.3. HWPORT PGL Specification

1.3.1. Test된 Architecture

  • x86 / x86_64(amd64) series
  • PPC : 4xx
  • mips : lx4189
  • mipsel : au1200, smp8634, smp8654, smp8671
  • ARM series
  • sh4 : ST7109
  • ... (이론적으로 Architecture에 의존관계는 매우 적어 쉽게 이식 가능. 단, 32bits OS 이상이 필요.)

1.3.2. Test된 OS

  • Posix 계열 OS (예: Linux, Unix, ...)
    1. Kernel : 2.6.x, 3.0.x, 3.8.x, ...
    2. GLIBC : 2.2.5, 2.3, 2.3.5, 2.5, 2.13, ...
    3. uClibc : 0.9.26, 0.9.27, ...
    4. 배포판(Distribution)
      1. RedHat : 7.2, 7.3, 8.0, 9.0, Enterprise ES4, ...
      2. Fedora : Core1 ~ Core5, 7, 15, ...
      3. Gentoo : 2005.1 ~ 2011.0 "Gentoo Base System version 1.6.13 ~ 2.0.3", ...
      4. Ubuntu : 11.x, 12.x, ...
  • Windows : cygwin, MinG, 98, 2000, XP, 2003, Vista, 7, 8, ...
  • FreeBSD : (todo test)
  • MacOS X : (todo test)

1.3.3. Ubuntu Linux 기준 선택적 의존관계성 (필수 요소는 아님)

  1. build-essential
  2. ia32-libs(12.04), lib32z1(14.04), lib32ncurses5(14.04), lib32bz2-1.0(14.04)
  3. libtool, autoconf, m4
  4. zlib1g-dev, libncurses5-dev
  5. gettext
  6. cmake
  7. genromfs, mtd-utils, mktemp, genisoimage, mklibs, mksh, nmh, ntpdate, aufs-tools
  8. gawk, bison, flex
  9. texinfo
  10. unzip
  11. cramfsprogs
    1. libcrypt-des-ede3-perl, libclass-errorhandler-perl,
    2. libcrypt-openssl-bignum-perl, libcrypt-openssl-rsa-perl,
    3. libcrypt-rijndael-perl, libdigest-sha-perl, libconvert-asn1-perl,
    4. libconvert-pem-perl, libxml-parser-perl, libpopt-dev
  12. ncurses-term, openssl, perl, sed, sharutils
  13. subversion, git, vsftpd, proftpd-basic, apache2, sysklogd(12.04), busybox-syslogd(14.04), tftpd, ccache

1.3.4. Test된 Build tools

  1. ANSI-C (C89 이상) : 모든 내부 소스는 Strict ANSI-C 기준에 충족하도록 작성됨
  2. gas(optional) : 2.11.93.0.2, 2.16.1, 2.17, 2.21, ... (일부 성능을 위해서 Architecture에 따른 최적화된 Assembly로 구현)
  3. gcc : 2.95.3, 2.96, 3.2, 3.3.4, 3.3.6, 3.4.4, 3.3.6, 4.1.1, 4.1.2, 4.5.3, ...
  4. VisualStudio C++ : .NET 2002, .NET 2003, .NET 2005, .NET 2008, .NET 2010, ...

1.4. API Manual

Retrieved from https://www.minzkn.com:443/moniwiki/wiki.php/hwport_pgl
last modified 2021-10-21 11:35:04