<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Leehands workroom</title>
    <link>https://leehands.tistory.com/</link>
    <description>찐 개발자를 위한 공간</description>
    <language>ko</language>
    <pubDate>Tue, 16 Jun 2026 04:05:56 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>LEEHANDS</managingEditor>
    <image>
      <title>Leehands workroom</title>
      <url>https://tistory1.daumcdn.net/tistory/4361129/attach/5f28e7b03e42454aba0194b68dc03f7c</url>
      <link>https://leehands.tistory.com</link>
    </image>
    <item>
      <title>ODROID M1S, Realsense Libarary 설치</title>
      <link>https://leehands.tistory.com/entry/ODROID-M1S-Realsense-Libarary-%EC%84%A4%EC%B9%98</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;519&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dJ8pXc/btsMuso8i7Q/Adv1rSRNlvEN5RJGfyU4ak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dJ8pXc/btsMuso8i7Q/Adv1rSRNlvEN5RJGfyU4ak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dJ8pXc/btsMuso8i7Q/Adv1rSRNlvEN5RJGfyU4ak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdJ8pXc%2FbtsMuso8i7Q%2FAdv1rSRNlvEN5RJGfyU4ak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1370&quot; height=&quot;519&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;519&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;인텔 홈페이지보면 odroid 를 공식 지원하지는 않기때문에 쉘스크립트 실행을 해야한다고한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-end=&quot;232&quot; data-start=&quot;209&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;  실행해야 할 패치 파일&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;397&quot; data-start=&quot;233&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;306&quot; data-start=&quot;233&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;patch-realsense-ubuntu-odroid.sh&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;306&quot; data-start=&quot;276&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;306&quot; data-start=&quot;276&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Odroid 장치 전반을 위한 패치일 가능성이 큼.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;397&quot; data-start=&quot;307&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;patch-realsense-ubuntu-odroid-xu4-4.14.sh&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;397&quot; data-start=&quot;359&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;397&quot; data-start=&quot;359&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;Odroid XU4&lt;/b&gt;와 &lt;b&gt;커널 4.14&lt;/b&gt;에 특화된 패치.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-end=&quot;553&quot; data-start=&quot;399&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;  &lt;b&gt;Odroid XU4를 사용하고 커널이 4.14인 경우 patch-realsense-ubuntu-odroid-xu4-4.14.sh를 실행&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;  &lt;b&gt;그 외의 Odroid 장치를 사용한다면 patch-realsense-ubuntu-odroid.sh를 실행&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;553&quot; data-start=&quot;399&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-end=&quot;558&quot; data-start=&quot;555&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;595&quot; data-start=&quot;560&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;  실행 순서 (CMake 실행 전에 진행)&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;bash&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;복사편집&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;cd ~/Projects/librealsense/scripts # 일반적인 Odroid용 패치 적용 (XU4가 아니라면) sudo ./patch-realsense-ubuntu-odroid.sh &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;745&quot; data-start=&quot;717&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;또는, &lt;b&gt;XU4 + 커널 4.14&lt;/b&gt; 환경이라면:&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;bash&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;복사편집&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;sudo ./patch-realsense-ubuntu-odroid-xu4-4.14.sh &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;811&quot; data-start=&quot;808&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;840&quot; data-start=&quot;813&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;  이후 CMake 및 빌드 과정&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;866&quot; data-start=&quot;841&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;패치 적용 후, CMake 설정을 진행합니다.&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;bash&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;복사편집&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;cd ~/Projects/librealsense mkdir build &amp;amp;&amp;amp; cd build # CMake 실행 cmake .. -DBUILD_EXAMPLES=true -DFORCE_RSUSB_BACKEND=true -DCMAKE_BUILD_TYPE=Release # 빌드 및 설치 make -j$(nproc) sudo make install &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1118&quot; data-start=&quot;1073&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;그 후, &lt;b&gt;udev 규칙을 리로드&lt;/b&gt;하고 uvcvideo 모듈을 다시 로드:&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;bash&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;복사편집&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;sudo udevadm control --reload-rules &amp;amp;&amp;amp; sudo udevadm trigger sudo modprobe uvcvideo &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1218&quot; data-start=&quot;1215&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1244&quot; data-start=&quot;1220&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;  패치 적용이 필요한 이유&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1395&quot; data-start=&quot;1245&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1289&quot; data-start=&quot;1245&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;Odroid는 기본적으로 Intel이 공식 지원하는 플랫폼이 아님&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li data-end=&quot;1339&quot; data-start=&quot;1290&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;커널 및 드라이버 패치 없이 Realsense 장치를 인식하지 못할 가능성이 높음&lt;/span&gt;&lt;/li&gt;
&lt;li data-end=&quot;1395&quot; data-start=&quot;1340&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;패치를 적용하면 &lt;b&gt;USB 백엔드와 uvcvideo 모듈이 올바르게 작동할 가능성이 커짐&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1400&quot; data-start=&quot;1397&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1431&quot; data-start=&quot;1402&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;  장치 연결 확인 (빌드 완료 후)&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;bash&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;복사편집&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;lsusb | grep -i intel # RealSense 장치가 USB에서 보이는지 확인 ls /dev/video* # /dev/video0 또는 video1 장치가 생성되었는지 확인 rs-enumerate-devices # RealSense 장치 목록 확인 &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1656&quot; data-start=&quot;1602&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;이제 realsense-viewer로도 확인해보고, 카메라가 정상 동작하는지 체크하면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-end=&quot;1695&quot; data-start=&quot;1658&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;  패치 적용 후에도 카메라가 인식되지 않는다면?&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1829&quot; data-start=&quot;1696&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1744&quot; data-start=&quot;1696&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;dmesg | grep uvcvideo 실행하여 &lt;b&gt;커널 로그에서 오류 확인&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li data-end=&quot;1798&quot; data-start=&quot;1745&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;lsmod | grep uvcvideo로 &lt;b&gt;uvcvideo 모듈이 로드되었는지 체크&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li data-end=&quot;1829&quot; data-start=&quot;1799&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;modinfo uvcvideo로 모듈 정보 확인&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;1944&quot; data-start=&quot;1831&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;이 과정을 거치면 Odroid에서 RealSense D435i를 정상적으로 사용할 가능성이 높습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;혹시 실행 중 에러가 나오면, 로그를 확인하고 어떤 문제가 발생했는지 추가 점검하면 됩니다.  &lt;/span&gt;&lt;/p&gt;</description>
      <category>SBC (Single Board Computer)/Odroid M1S</category>
      <category>M1S</category>
      <category>odroid</category>
      <category>realsense</category>
      <author>LEEHANDS</author>
      <guid isPermaLink="true">https://leehands.tistory.com/345</guid>
      <comments>https://leehands.tistory.com/entry/ODROID-M1S-Realsense-Libarary-%EC%84%A4%EC%B9%98#entry345comment</comments>
      <pubDate>Mon, 24 Feb 2025 20:41:51 +0900</pubDate>
    </item>
    <item>
      <title>ODROID M1S, Realsense 카메라 no connection 시</title>
      <link>https://leehands.tistory.com/entry/M1S-Realsense-%EC%B9%B4%EB%A9%94%EB%9D%BC-no-connection-%EC%8B%9C</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1376&quot; data-start=&quot;1321&quot;&gt;&lt;b&gt;ODROID XU4 / M1S 같은 보드들은 V4L2 드라이버 지원이 불완전할 수 있음&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1444&quot; data-start=&quot;1377&quot;&gt;&lt;b&gt;RealSense 기본 설정은 V4L2 기반이므로, USB 백엔드(RSUSB)를 강제로 활성화해야 인식 가능&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1522&quot; data-start=&quot;1445&quot;&gt;&lt;b&gt;USB 백엔드 활성화(-DFORCE_RSUSB_BACKEND=true)하면 카메라를 직접 USB 장치로 연결하여 사용 가능&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1740396106716&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd ~
git clone https://github.com/IntelRealSense/librealsense.git
cd librealsense
mkdir build &amp;amp;&amp;amp; cd build

cmake .. -DBUILD_EXAMPLES=true -DFORCE_RSUSB_BACKEND=true
make -j$(nproc)
sudo make install&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DFORCE_RSUSB_BACKEND = true 해야지 odroid m1s 에서 python3 카메라 인식이 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 기존에 Realsense 지운다&lt;/h2&gt;
&lt;pre id=&quot;code_1740396163992&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt remove -y librealsense2-utils librealsense2-dev librealsense2-dkms
sudo rm -rf ~/Projects/realsense/librealsense&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. USB 백엔드 강제 활성&lt;/h2&gt;
&lt;pre id=&quot;code_1740396185515&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd ~
git clone https://github.com/IntelRealSense/librealsense.git
cd librealsense
mkdir build &amp;amp;&amp;amp; cd build

cmake .. -DBUILD_EXAMPLES=true -DFORCE_RSUSB_BACKEND=true
make -j$(nproc)
sudo make install&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. udev 규칙 적용 (USB 장치 접근 권한 설정)&lt;/h2&gt;
&lt;pre id=&quot;code_1740396224259&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules &amp;amp;&amp;amp; sudo udevadm trigger&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. Realsense 서비스 재시작&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1740396242721&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo modprobe uvcvideo
sudo systemctl restart udev&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 카메라 확인&lt;/h2&gt;
&lt;pre id=&quot;code_1740396267125&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;rs-enumerate-devices&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-end=&quot;126&quot; data-start=&quot;94&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;왜 USB 백엔드를 강제 적용해야 할까?&lt;/b&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;815&quot; data-start=&quot;127&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;356&quot; data-start=&quot;127&quot;&gt;&lt;b&gt;ODROID 보드에서 /dev/video* 장치가 생성되지 않음&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;356&quot; data-start=&quot;175&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;238&quot; data-start=&quot;175&quot;&gt;ls -lah /dev/video* 실행 결과 &lt;b&gt;&quot;No such file or directory&quot;&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;287&quot; data-start=&quot;242&quot;&gt;즉, V4L2(Video for Linux) 인터페이스로 장치가 인식되지 않음&lt;/li&gt;
&lt;li data-end=&quot;356&quot; data-start=&quot;291&quot;&gt;이는 커널 모듈이 올바르게 로드되지 않았거나, ODROID M1S의 V4L2 지원이 제한적이기 때문일 가능성이 큼&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;637&quot; data-start=&quot;358&quot;&gt;&lt;b&gt;lsusb -t 결과에서 RealSense가 &quot;Driver=&quot; 로 표시됨&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;637&quot; data-start=&quot;411&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;479&quot; data-start=&quot;411&quot;&gt;/dev/video* 장치가 없는 것과 마찬가지로, USB 트리에서도 해당 장치가 &lt;b&gt;드라이버 없이 연결된 상태&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;542&quot; data-start=&quot;483&quot;&gt;일반적으로 UVC (USB Video Class) 장치라면 Driver=uvcvideo가 보여야 함&lt;/li&gt;
&lt;li data-end=&quot;637&quot; data-start=&quot;546&quot;&gt;드라이버가 정상적으로 로드되지 않았기 때문에 rs-enumerate-devices로는 확인되지만, Python 코드에서는 연결되지 않는 문제 발생 가능성 큼&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;815&quot; data-start=&quot;639&quot;&gt;&lt;b&gt;RealSense Viewer (realsense-viewer)에서는 정상 작동&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;815&quot; data-start=&quot;696&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;757&quot; data-start=&quot;696&quot;&gt;이건 &lt;b&gt;Librealsense의 자체 USB 백엔드(RSUSB)를 사용하고 있기 때문&lt;/b&gt;일 가능성이 높음&lt;/li&gt;
&lt;li data-end=&quot;815&quot; data-start=&quot;761&quot;&gt;하지만 기본적으로 Python API는 V4L2를 통해 접근을 시도함 &amp;rarr; 장치가 인식되지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-end=&quot;844&quot; data-start=&quot;822&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;✅ 강제 적용해야 하는 이유&lt;/b&gt;&lt;/h2&gt;
&lt;p data-end=&quot;1013&quot; data-start=&quot;845&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;V4L2 방식 (기본 설정) &amp;rarr; 현재 환경에서 작동하지 않음&lt;/b&gt;&lt;br /&gt;  &lt;b&gt;RSUSB 백엔드 방식 (강제 적용) &amp;rarr; Realsense Viewer에서 정상 작동 가능성 높음&lt;/b&gt;&lt;br /&gt;  &lt;b&gt;ODROID M1S 및 기타 보드에서 자주 발생하는 문제임 (커널 드라이버 지원 부족 가능성)&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;1081&quot; data-start=&quot;1015&quot; data-ke-size=&quot;size16&quot;&gt;이러한 이유로 &lt;b&gt;USB 백엔드를 강제 적용해서 RealSense 장치를 직접 인식하도록 설정하는 것이 필요&lt;/b&gt;합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-end=&quot;1100&quot; data-start=&quot;1088&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  결론&lt;/b&gt;&lt;/h2&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;1271&quot; data-start=&quot;1101&quot; data-ke-size=&quot;size16&quot;&gt;✔ -DFORCE_RSUSB_BACKEND=true 옵션을 사용해 &lt;b&gt;USB 백엔드를 강제로 활성화&lt;/b&gt;하는 것이 현재 문제를 해결할 가능성이 매우 높습니다.&lt;br /&gt;✔ 이 옵션을 적용한 후 rs-enumerate-devices와 Python 코드를 다시 실행해서 인식 여부를 확인하는 것이 최선입니다.&lt;/p&gt;</description>
      <category>SBC (Single Board Computer)/Odroid M1S</category>
      <category>M1S</category>
      <category>odroid</category>
      <category>realsense</category>
      <author>LEEHANDS</author>
      <guid isPermaLink="true">https://leehands.tistory.com/344</guid>
      <comments>https://leehands.tistory.com/entry/M1S-Realsense-%EC%B9%B4%EB%A9%94%EB%9D%BC-no-connection-%EC%8B%9C#entry344comment</comments>
      <pubDate>Mon, 24 Feb 2025 20:25:08 +0900</pubDate>
    </item>
    <item>
      <title>[AI] 나만의 AI 만들기 ( Nvidia GeForce GTX 1650 )</title>
      <link>https://leehands.tistory.com/entry/AI-%EB%82%98%EB%A7%8C%EC%9D%98-AI-%EB%A7%8C%EB%93%A4%EA%B8%B0-Nvidia-GeForce-GTX-1650</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;GPU 알아내기&lt;/h3&gt;
&lt;pre id=&quot;code_1729477757529&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;lspci | grep -i vga&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연결된 그래픽카드 알아내기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;725&quot; data-origin-height=&quot;44&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVMnUC/btsKdoWi4Py/vjo1Ox9W2Hwn0bYYvCkvQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVMnUC/btsKdoWi4Py/vjo1Ox9W2Hwn0bYYvCkvQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVMnUC/btsKdoWi4Py/vjo1Ox9W2Hwn0bYYvCkvQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVMnUC%2FbtsKdoWi4Py%2Fvjo1Ox9W2Hwn0bYYvCkvQk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;725&quot; height=&quot;44&quot; data-origin-width=&quot;725&quot; data-origin-height=&quot;44&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나의 그래픽카드느 GeForce GTX 1650 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 이 그래픽카드에 맞는 우분투용 그래픽카드 드라이버를 설치해봅시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 Nvidia HomePage 에서 조회해보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.nvidia.com/en-us/drivers/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.nvidia.com/en-us/drivers/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1729477853233&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;Website&quot; data-og-title=&quot;Download The Latest Official NVIDIA Drivers&quot; data-og-description=&quot;Download the latest official NVIDIA drivers to enhance your PC gaming experience and run apps faster.&quot; data-og-host=&quot;www.nvidia.com&quot; data-og-source-url=&quot;https://www.nvidia.com/en-us/drivers/&quot; data-og-url=&quot;https://www.nvidia.com/en-us/drivers/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bmkIdf/hyXhPVjXOp/mBKfiXiX1Fpz1RKcS9L1p0/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/cppvpz/hyXlN2AOpF/DE0P5X1wmgbeUjDXytBRx0/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://www.nvidia.com/en-us/drivers/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.nvidia.com/en-us/drivers/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bmkIdf/hyXhPVjXOp/mBKfiXiX1Fpz1RKcS9L1p0/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/cppvpz/hyXlN2AOpF/DE0P5X1wmgbeUjDXytBRx0/img.jpg?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Download The Latest Official NVIDIA Drivers&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Download the latest official NVIDIA drivers to enhance your PC gaming experience and run apps faster.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.nvidia.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1300&quot; data-origin-height=&quot;381&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DBk4g/btsKb3sckfm/hAPuGwYBwAihapEVIPB5Gk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DBk4g/btsKb3sckfm/hAPuGwYBwAihapEVIPB5Gk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DBk4g/btsKb3sckfm/hAPuGwYBwAihapEVIPB5Gk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDBk4g%2FbtsKb3sckfm%2FhAPuGwYBwAihapEVIPB5Gk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1300&quot; height=&quot;381&quot; data-origin-width=&quot;1300&quot; data-origin-height=&quot;381&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다운로드 받은 후 아래와 같이 실행파일로 변경하여 그래픽카드 드라이버를 설치합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1729481893330&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd ~/Downloads
chmod +x NVIDIA-Linux-x86_64-550.120.run&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1729481908306&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo ./NVIDIA-Linux-x86_64-550.120.run&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필자의경우 한번에 설치가안되어 커널업데이트를 하고 진행했다. 아래 참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. Run 설치 실패시 헤더 및 커널 재설치 ( 안될경우 )&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템 업데이트 및 업그레이&lt;/p&gt;
&lt;pre id=&quot;code_1729481963483&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본 커널 설치&lt;/p&gt;
&lt;pre id=&quot;code_1729482023972&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt-get install linux-generic&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리붓 후 모든 헤더 패키지 설치&lt;/p&gt;
&lt;pre id=&quot;code_1729482220469&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt-get install linux-headers-generic&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디스플레이 매니저 종료&lt;/p&gt;
&lt;pre id=&quot;code_1729482849918&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;systemctl list-units --type=service | grep dm
sudo pkill X&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;호환되는 gcc 으로 드라이버 설치&lt;/p&gt;
&lt;pre id=&quot;code_1729482993403&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt install gcc-12 g++-12
sudo CC=/usr/bin/gcc-12 ./NVIDIA-Linux-x86_64-550.120.run&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가 완료되면 아래와 같이 nvidia-smi 가 잘 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;737&quot; data-origin-height=&quot;357&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cxV7bn/btsKd0ncKs9/C0zBkR29kfqfYwur4P9ZJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cxV7bn/btsKd0ncKs9/C0zBkR29kfqfYwur4P9ZJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cxV7bn/btsKd0ncKs9/C0zBkR29kfqfYwur4P9ZJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcxV7bn%2FbtsKd0ncKs9%2FC0zBkR29kfqfYwur4P9ZJ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;737&quot; height=&quot;357&quot; data-origin-width=&quot;737&quot; data-origin-height=&quot;357&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Open Project</category>
      <author>LEEHANDS</author>
      <guid isPermaLink="true">https://leehands.tistory.com/343</guid>
      <comments>https://leehands.tistory.com/entry/AI-%EB%82%98%EB%A7%8C%EC%9D%98-AI-%EB%A7%8C%EB%93%A4%EA%B8%B0-Nvidia-GeForce-GTX-1650#entry343comment</comments>
      <pubDate>Mon, 21 Oct 2024 13:11:13 +0900</pubDate>
    </item>
    <item>
      <title>ODROID M1S, KERNEL (커널)  컴파일 = 작성중 =</title>
      <link>https://leehands.tistory.com/entry/ODROID-M1S-KERNEL-%EC%BB%A4%EB%84%90-%EC%BB%B4%ED%8C%8C%EC%9D%BC-%EC%9E%91%EC%84%B1%EC%A4%91</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;커널 컴파일하기 전에&lt;/h3&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;커널 컴파일하기전에 Remove Object file.&lt;/p&gt;
&lt;pre id=&quot;code_1713178094891&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;make clean&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;.config 를 먼저 defautl setting&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1713178140631&quot; class=&quot;ebnf&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;make defconfig&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;사용자가 커널 모듈을 Manual Setting&lt;/p&gt;
&lt;pre id=&quot;code_1713178209681&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;make menuconfig&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;커널 컴파일&lt;/h4&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;커널과 관련 모듈 컴파일&lt;/p&gt;
&lt;pre id=&quot;code_1713178115862&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;make -j$(nproc)
make modules&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;커널 설치&lt;/h4&gt;
&lt;pre id=&quot;code_1713178266276&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo make modules_install
sudo make install&lt;/code&gt;&lt;/pre&gt;</description>
      <category>SBC (Single Board Computer)/Odroid M1S</category>
      <category>hardkernel</category>
      <category>Kernel</category>
      <category>Linux</category>
      <category>M1S</category>
      <category>Rockchip</category>
      <category>하드커널</category>
      <author>LEEHANDS</author>
      <guid isPermaLink="true">https://leehands.tistory.com/342</guid>
      <comments>https://leehands.tistory.com/entry/ODROID-M1S-KERNEL-%EC%BB%A4%EB%84%90-%EC%BB%B4%ED%8C%8C%EC%9D%BC-%EC%9E%91%EC%84%B1%EC%A4%91#entry342comment</comments>
      <pubDate>Mon, 15 Apr 2024 21:29:23 +0900</pubDate>
    </item>
    <item>
      <title>ODROID M1S, 소개 및 자료 ( 출처 : 하드커널 )</title>
      <link>https://leehands.tistory.com/entry/ODROID-M1S-%EC%86%8C%EA%B0%9C-%EB%B0%8F-%EC%9E%90%EB%A3%8C-%EC%B6%9C%EC%B2%98-%ED%95%98%EB%93%9C%EC%BB%A4%EB%84%90</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1083&quot; data-origin-height=&quot;780&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvjL55/btsGFn7jaQZ/4TKy3lBNdca6rArBA60yy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvjL55/btsGFn7jaQZ/4TKy3lBNdca6rArBA60yy1/img.png&quot; data-alt=&quot;Hardkernel Odroid M1S&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvjL55/btsGFn7jaQZ/4TKy3lBNdca6rArBA60yy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvjL55%2FbtsGFn7jaQZ%2F4TKy3lBNdca6rArBA60yy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1083&quot; height=&quot;780&quot; data-origin-width=&quot;1083&quot; data-origin-height=&quot;780&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Hardkernel Odroid M1S&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;ROCKCHIP RK3566&amp;nbsp; , Datasheet&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/cygxnf/btsGB42Hw0J/KlmoVDdlAL0YTBXuTZF9K0/Rockchip%20RK3566%20Datasheet%20V1.2-20220930.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Rockchip RK3566 Datasheet V1.2-20220930.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;3.35MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;HARDKERNEL M1S , FEATURE&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1175&quot; data-origin-height=&quot;685&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Aqilg/btsGCuNlV8q/NjbWSg7ISfWGtOwsJRtR11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Aqilg/btsGCuNlV8q/NjbWSg7ISfWGtOwsJRtR11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Aqilg/btsGCuNlV8q/NjbWSg7ISfWGtOwsJRtR11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAqilg%2FbtsGCuNlV8q%2FNjbWSg7ISfWGtOwsJRtR11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1175&quot; height=&quot;685&quot; data-origin-width=&quot;1175&quot; data-origin-height=&quot;685&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;HARDKENEL PINMAP&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;649&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwaovE/btsGCZl5g6U/BNJvbLUmlijwzWnnJngqnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwaovE/btsGCZl5g6U/BNJvbLUmlijwzWnnJngqnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwaovE/btsGCZl5g6U/BNJvbLUmlijwzWnnJngqnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwaovE%2FbtsGCZl5g6U%2FBNJvbLUmlijwzWnnJngqnk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;652&quot; height=&quot;649&quot; data-origin-width=&quot;652&quot; data-origin-height=&quot;649&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;HARDKENEL , DEVICE TREE OVERLAY&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://wiki.odroid.com/odroid-m1s/application_note/device_tree_overlay&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://wiki.odroid.com/odroid-m1s/application_note/device_tree_overlay&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713175155918&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;odroid-m1s:application_note:device_tree_overlay [ODROID Wiki]&quot; data-og-description=&quot;'ODROID-N2' on this page refers to the ODROID-N2 series (N2, N2+, N2L). By using this Overlay feature, we can easily set the board to use a peripheral including a shield product. To use a shield, you should have set your DTB file by using 'fdt' tool on the&quot; data-og-host=&quot;wiki.odroid.com&quot; data-og-source-url=&quot;https://wiki.odroid.com/odroid-m1s/application_note/device_tree_overlay&quot; data-og-url=&quot;https://wiki.odroid.com/odroid-m1s/application_note/device_tree_overlay&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://wiki.odroid.com/odroid-m1s/application_note/device_tree_overlay&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://wiki.odroid.com/odroid-m1s/application_note/device_tree_overlay&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;odroid-m1s:application_note:device_tree_overlay [ODROID Wiki]&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;'ODROID-N2' on this page refers to the ODROID-N2 series (N2, N2+, N2L). By using this Overlay feature, we can easily set the board to use a peripheral including a shield product. To use a shield, you should have set your DTB file by using 'fdt' tool on the&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;wiki.odroid.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;HARDKERNEL DOC&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- ODROID M1S WIKI : &lt;a href=&quot;https://wiki.odroid.com/odroid-m1s/odroid-m1s&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://wiki.odroid.com/odroid-m1s/odroid-m1s&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1713174905322&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;odroid-m1s:odroid-m1s [ODROID Wiki]&quot; data-og-description=&quot;ODROID-M1S is an affordable ARM Cortex-A55 quad-core single board computer with higher energy efficiency, slimmer form factor, and many input/output ports. Thanks to the built-in fast 64GB eMMC storage, 4GB or 8GB LPDDR4 RAM, bundled power adapter, and bun&quot; data-og-host=&quot;wiki.odroid.com&quot; data-og-source-url=&quot;https://wiki.odroid.com/odroid-m1s/odroid-m1s&quot; data-og-url=&quot;https://wiki.odroid.com/odroid-m1s/odroid-m1s&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cq02om/hyVPJOC7NS/KH5ND4GTyRu7W7jLNF6Mw0/img.png?width=1024&amp;amp;height=526&amp;amp;face=0_0_1024_526,https://scrap.kakaocdn.net/dn/xkMmn/hyVPNQ1dpz/3LU7d3T056hKYskB4zhC31/img.jpg?width=480&amp;amp;height=336&amp;amp;face=0_0_480_336,https://scrap.kakaocdn.net/dn/QCixp/hyVPVuLWUf/1GaxmrhjqMk5NEHZ6zUKK0/img.jpg?width=480&amp;amp;height=313&amp;amp;face=0_0_480_313&quot;&gt;&lt;a href=&quot;https://wiki.odroid.com/odroid-m1s/odroid-m1s&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://wiki.odroid.com/odroid-m1s/odroid-m1s&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cq02om/hyVPJOC7NS/KH5ND4GTyRu7W7jLNF6Mw0/img.png?width=1024&amp;amp;height=526&amp;amp;face=0_0_1024_526,https://scrap.kakaocdn.net/dn/xkMmn/hyVPNQ1dpz/3LU7d3T056hKYskB4zhC31/img.jpg?width=480&amp;amp;height=336&amp;amp;face=0_0_480_336,https://scrap.kakaocdn.net/dn/QCixp/hyVPVuLWUf/1GaxmrhjqMk5NEHZ6zUKK0/img.jpg?width=480&amp;amp;height=313&amp;amp;face=0_0_480_313');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;odroid-m1s:odroid-m1s [ODROID Wiki]&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;ODROID-M1S is an affordable ARM Cortex-A55 quad-core single board computer with higher energy efficiency, slimmer form factor, and many input/output ports. Thanks to the built-in fast 64GB eMMC storage, 4GB or 8GB LPDDR4 RAM, bundled power adapter, and bun&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;wiki.odroid.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- ODROID M1S&amp;nbsp;&lt;/p&gt;</description>
      <category>SBC (Single Board Computer)/Odroid M1S</category>
      <category>M1S</category>
      <category>Rockchip</category>
      <category>하드커널</category>
      <author>LEEHANDS</author>
      <guid isPermaLink="true">https://leehands.tistory.com/341</guid>
      <comments>https://leehands.tistory.com/entry/ODROID-M1S-%EC%86%8C%EA%B0%9C-%EB%B0%8F-%EC%9E%90%EB%A3%8C-%EC%B6%9C%EC%B2%98-%ED%95%98%EB%93%9C%EC%BB%A4%EB%84%90#entry341comment</comments>
      <pubDate>Mon, 15 Apr 2024 19:02:45 +0900</pubDate>
    </item>
    <item>
      <title>라떼판다(Lattepanda) v1 , Hardware / Pin-map</title>
      <link>https://leehands.tistory.com/entry/%EB%9D%BC%EB%96%BC%ED%8C%90%EB%8B%A4Lattepanda-Hardware-Pin-map</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;879&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bK8wDm/btsFAEYqHq9/NzZXzXbu6Qdsob2qqP69PK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bK8wDm/btsFAEYqHq9/NzZXzXbu6Qdsob2qqP69PK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bK8wDm/btsFAEYqHq9/NzZXzXbu6Qdsob2qqP69PK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbK8wDm%2FbtsFAEYqHq9%2FNzZXzXbu6Qdsob2qqP69PK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;614&quot; height=&quot;812&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;879&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;303&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crpD1h/btsFEMmS3JR/oyZZ1mG3JMjaa9iPzi6U30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crpD1h/btsFEMmS3JR/oyZZ1mG3JMjaa9iPzi6U30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crpD1h/btsFEMmS3JR/oyZZ1mG3JMjaa9iPzi6U30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrpD1h%2FbtsFEMmS3JR%2FoyZZ1mG3JMjaa9iPzi6U30%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;774&quot; height=&quot;276&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;303&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Pinouts in area U1 are assigned to the X-Z8350 core.&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Pinouts in area U2 are assigned to the ATmega32u4 core. Each of the 20 digital pins (A0 - A5, D0 - D13) in area U2 can be used as an input or output, each operating at 5 volts. Each pin can output or receive 40 mA and each has an internal pull-up resistor (disconnected by default) of 20-50k ohm.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Caution:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Exceeding 40mA on any I/O pin may cause permanent damage to the ATmega32u4.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Some&amp;nbsp;pins&amp;nbsp;have&amp;nbsp;specialized&amp;nbsp;functions: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Analog&amp;nbsp;Inputs:&amp;nbsp;A0&amp;nbsp;-&amp;nbsp;A5,&amp;nbsp;A6&amp;nbsp;-&amp;nbsp;A11&amp;nbsp;(on&amp;nbsp;D4,&amp;nbsp;D6,&amp;nbsp;D8,&amp;nbsp;D9,&amp;nbsp;D10,&amp;nbsp;and&amp;nbsp;D12).&amp;nbsp;The&amp;nbsp;LattePanda&amp;nbsp;has&amp;nbsp;12&amp;nbsp;analog&amp;nbsp;inputs,&amp;nbsp;labeled&amp;nbsp;A0&amp;nbsp;through&amp;nbsp;A11,&amp;nbsp;all&amp;nbsp;of&amp;nbsp;which&amp;nbsp;can&amp;nbsp;also&amp;nbsp;be&amp;nbsp;used&amp;nbsp;as&amp;nbsp;digital&amp;nbsp;I/O&amp;nbsp;(inputs/ouptus).&amp;nbsp;Each&amp;nbsp;pin&amp;nbsp;has&amp;nbsp;a&amp;nbsp;10&amp;nbsp;bit&amp;nbsp;resolution&amp;nbsp;(i.e.&amp;nbsp;1024&amp;nbsp;different&amp;nbsp;values).&amp;nbsp;By&amp;nbsp;default,&amp;nbsp;their&amp;nbsp;voltages&amp;nbsp;measure&amp;nbsp;from&amp;nbsp;ground&amp;nbsp;to&amp;nbsp;5&amp;nbsp;volts. &lt;br /&gt;Serial:&amp;nbsp;D0&amp;nbsp;(RX)&amp;nbsp;and&amp;nbsp;D1&amp;nbsp;(TX).&amp;nbsp;Used&amp;nbsp;to&amp;nbsp;receive&amp;nbsp;(RX)&amp;nbsp;and&amp;nbsp;transmit&amp;nbsp;(TX)&amp;nbsp;TTL&amp;nbsp;serial&amp;nbsp;data. &lt;br /&gt;External&amp;nbsp;Interruptions:&amp;nbsp;D3&amp;nbsp;(interrupt&amp;nbsp;0),&amp;nbsp;D2&amp;nbsp;(interrupt&amp;nbsp;1),&amp;nbsp;D0&amp;nbsp;(interrupt&amp;nbsp;2),&amp;nbsp;D1&amp;nbsp;(interrupt&amp;nbsp;3)&amp;nbsp;and&amp;nbsp;D7&amp;nbsp;(interrupt&amp;nbsp;4).&amp;nbsp;These&amp;nbsp;pins&amp;nbsp;can&amp;nbsp;be&amp;nbsp;configured&amp;nbsp;to&amp;nbsp;trigger&amp;nbsp;an&amp;nbsp;interruption&amp;nbsp;when&amp;nbsp;measuring&amp;nbsp;low&amp;nbsp;values,&amp;nbsp;a&amp;nbsp;rising&amp;nbsp;or&amp;nbsp;falling&amp;nbsp;edge,&amp;nbsp;or&amp;nbsp;a&amp;nbsp;change&amp;nbsp;in&amp;nbsp;value. &lt;br /&gt;PWM:&amp;nbsp;D3,&amp;nbsp;D5,&amp;nbsp;D6,&amp;nbsp;D9,&amp;nbsp;D10,&amp;nbsp;and&amp;nbsp;D13&amp;nbsp;provide&amp;nbsp;8-bit&amp;nbsp;PWM&amp;nbsp;output. &lt;br /&gt;SPI:&amp;nbsp;D16&amp;nbsp;(MOSI),&amp;nbsp;D14&amp;nbsp;(MISO),&amp;nbsp;D15&amp;nbsp;(SCK). &lt;br /&gt;LED:&amp;nbsp;D13&amp;nbsp;There&amp;nbsp;is&amp;nbsp;a&amp;nbsp;built-in&amp;nbsp;LED&amp;nbsp;driven&amp;nbsp;by&amp;nbsp;digital&amp;nbsp;pin&amp;nbsp;13. &lt;br /&gt;TWI:&amp;nbsp;D2(SDA),&amp;nbsp;D3(SCL).&amp;nbsp;Other&amp;nbsp;pins&amp;nbsp;on&amp;nbsp;the&amp;nbsp;board: &lt;br /&gt;Reset:&amp;nbsp;Causes&amp;nbsp;LOW&amp;nbsp;line&amp;nbsp;to&amp;nbsp;reset&amp;nbsp;the&amp;nbsp;microcontroller.&amp;nbsp;Typically&amp;nbsp;used&amp;nbsp;to&amp;nbsp;add&amp;nbsp;a&amp;nbsp;reset&amp;nbsp;button&amp;nbsp;to&amp;nbsp;shields&amp;nbsp;which&amp;nbsp;can&amp;nbsp;block&amp;nbsp;functions&amp;nbsp;on&amp;nbsp;the&amp;nbsp;SBC.&lt;/p&gt;</description>
      <category>SBC (Single Board Computer)/Lattepanda</category>
      <author>LEEHANDS</author>
      <guid isPermaLink="true">https://leehands.tistory.com/340</guid>
      <comments>https://leehands.tistory.com/entry/%EB%9D%BC%EB%96%BC%ED%8C%90%EB%8B%A4Lattepanda-Hardware-Pin-map#entry340comment</comments>
      <pubDate>Fri, 8 Mar 2024 13:54:19 +0900</pubDate>
    </item>
    <item>
      <title>Oldking : 2012년 작품</title>
      <link>https://leehands.tistory.com/entry/Oldking-2012%EB%85%84-%EC%9E%91%ED%92%88</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;

            &lt;figure class=&quot;unsupported component-kakaotv&quot; contenteditable=&quot;false&quot; style=&quot;background:#000;margin:16px 0;min-height:72px;padding:10px 16px;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;width:100%;max-width:100%;&quot;&gt;
                &lt;p contenteditable=&quot;false&quot; style=&quot;margin:0;color:#8a8a8a;font-size:13px;line-height:1.6;user-select:none;pointer-events:none;&quot;&gt;동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.&lt;/p&gt;
            &lt;/figure&gt;
        
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11년전 30세즈음, 그때도 옛날생각에 만들었던 8051 시계&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;(2012-2013)_Iphone4_20120620_00011.jpg&quot; data-origin-width=&quot;2592&quot; data-origin-height=&quot;1936&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bU82gX/btsBGD9YJmM/Zkc6vKHOwkb3Jr0n3YqCH0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bU82gX/btsBGD9YJmM/Zkc6vKHOwkb3Jr0n3YqCH0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bU82gX/btsBGD9YJmM/Zkc6vKHOwkb3Jr0n3YqCH0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbU82gX%2FbtsBGD9YJmM%2FZkc6vKHOwkb3Jr0n3YqCH0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;443&quot; height=&quot;331&quot; data-filename=&quot;(2012-2013)_Iphone4_20120620_00011.jpg&quot; data-origin-width=&quot;2592&quot; data-origin-height=&quot;1936&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;(2012-2013)_Iphone4_20120620_00013.jpg&quot; data-origin-width=&quot;2592&quot; data-origin-height=&quot;1936&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dSHFKC/btsBG4e9R9e/ZrHkzgJxXU9HrklPzVOsok/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dSHFKC/btsBG4e9R9e/ZrHkzgJxXU9HrklPzVOsok/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dSHFKC/btsBG4e9R9e/ZrHkzgJxXU9HrklPzVOsok/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdSHFKC%2FbtsBG4e9R9e%2FZrHkzgJxXU9HrklPzVOsok%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;373&quot; height=&quot;279&quot; data-filename=&quot;(2012-2013)_Iphone4_20120620_00013.jpg&quot; data-origin-width=&quot;2592&quot; data-origin-height=&quot;1936&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;(2012-2013)_Iphone4_20120620_00014.jpg&quot; data-origin-width=&quot;2592&quot; data-origin-height=&quot;1936&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vLC8F/btsBG47i4Bx/Gl6bL8VPt12WsN8ccUP3Zk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vLC8F/btsBG47i4Bx/Gl6bL8VPt12WsN8ccUP3Zk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vLC8F/btsBG47i4Bx/Gl6bL8VPt12WsN8ccUP3Zk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvLC8F%2FbtsBG47i4Bx%2FGl6bL8VPt12WsN8ccUP3Zk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;442&quot; height=&quot;330&quot; data-filename=&quot;(2012-2013)_Iphone4_20120620_00014.jpg&quot; data-origin-width=&quot;2592&quot; data-origin-height=&quot;1936&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Open Project/(프로젝트)Oldking_8051</category>
      <category>8051</category>
      <category>oldking</category>
      <author>LEEHANDS</author>
      <guid isPermaLink="true">https://leehands.tistory.com/339</guid>
      <comments>https://leehands.tistory.com/entry/Oldking-2012%EB%85%84-%EC%9E%91%ED%92%88#entry339comment</comments>
      <pubDate>Tue, 12 Dec 2023 13:24:18 +0900</pubDate>
    </item>
    <item>
      <title>Altium, Custom Thermal Reliefs for Pads</title>
      <link>https://leehands.tistory.com/entry/Altium-Custom-Thermal-Reliefs-for-Pads</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PCB 에 전체 Copper layer 를 생성했을 때, 솔더크림이 잘 녹이기위해서 Thermal Relifs 를 각각의 패드에 적용해야할 때가 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같이 따라하면 각 커넥터 포트 및 부품의 패드의 Thermal Reliefs 를 Customize 하게 설정할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;634&quot; data-origin-height=&quot;582&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bi7VyL/btsBzNkhmUL/Bt151XLtun1MrJlBZTrWO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bi7VyL/btsBzNkhmUL/Bt151XLtun1MrJlBZTrWO1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bi7VyL/btsBzNkhmUL/Bt151XLtun1MrJlBZTrWO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbi7VyL%2FbtsBzNkhmUL%2FBt151XLtun1MrJlBZTrWO1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;634&quot; height=&quot;582&quot; data-origin-width=&quot;634&quot; data-origin-height=&quot;582&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;581&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tI0Zv/btsBy65vCAP/9CeDBK2IqLfPKUagk5VoK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tI0Zv/btsBy65vCAP/9CeDBK2IqLfPKUagk5VoK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tI0Zv/btsBy65vCAP/9CeDBK2IqLfPKUagk5VoK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtI0Zv%2FbtsBy65vCAP%2F9CeDBK2IqLfPKUagk5VoK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;958&quot; height=&quot;581&quot; data-origin-width=&quot;958&quot; data-origin-height=&quot;581&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1642&quot; data-origin-height=&quot;574&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WR3AE/btsByQhe4X4/k1z5i4E8pOLuULjZL5i8K1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WR3AE/btsByQhe4X4/k1z5i4E8pOLuULjZL5i8K1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WR3AE/btsByQhe4X4/k1z5i4E8pOLuULjZL5i8K1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWR3AE%2FbtsByQhe4X4%2Fk1z5i4E8pOLuULjZL5i8K1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1642&quot; height=&quot;574&quot; data-origin-width=&quot;1642&quot; data-origin-height=&quot;574&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;938&quot; data-origin-height=&quot;541&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lXqrP/btsBCbEWIGV/FdelbkU0JsT5YnUJXkwaK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lXqrP/btsBCbEWIGV/FdelbkU0JsT5YnUJXkwaK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lXqrP/btsBCbEWIGV/FdelbkU0JsT5YnUJXkwaK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlXqrP%2FbtsBCbEWIGV%2FFdelbkU0JsT5YnUJXkwaK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;938&quot; height=&quot;541&quot; data-origin-width=&quot;938&quot; data-origin-height=&quot;541&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;843&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qPj05/btsBDLMkiJB/VTaZJimECi9AfhQTrXKkc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qPj05/btsBDLMkiJB/VTaZJimECi9AfhQTrXKkc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qPj05/btsBDLMkiJB/VTaZJimECi9AfhQTrXKkc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqPj05%2FbtsBDLMkiJB%2FVTaZJimECi9AfhQTrXKkc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;843&quot; height=&quot;559&quot; data-origin-width=&quot;843&quot; data-origin-height=&quot;559&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;452&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cq2Z4i/btsBDKzP8MC/bF65hdAfJmUU184uHidPd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cq2Z4i/btsBDKzP8MC/bF65hdAfJmUU184uHidPd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cq2Z4i/btsBDKzP8MC/bF65hdAfJmUU184uHidPd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcq2Z4i%2FbtsBDKzP8MC%2FbF65hdAfJmUU184uHidPd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;888&quot; height=&quot;452&quot; data-origin-width=&quot;888&quot; data-origin-height=&quot;452&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Hardware/PCB Alitum</category>
      <category>Altium</category>
      <category>알티움</category>
      <author>LEEHANDS</author>
      <guid isPermaLink="true">https://leehands.tistory.com/338</guid>
      <comments>https://leehands.tistory.com/entry/Altium-Custom-Thermal-Reliefs-for-Pads#entry338comment</comments>
      <pubDate>Fri, 8 Dec 2023 13:54:49 +0900</pubDate>
    </item>
    <item>
      <title>우분투 컴퓨터에 소켓 통신 무조건 따라하기 (1) , 설치 및 예제</title>
      <link>https://leehands.tistory.com/entry/%EC%9A%B0%EB%B6%84%ED%88%AC-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90-%EC%86%8C%EC%BC%93-%ED%86%B5%EC%8B%A0-%EB%AC%B4%EC%A1%B0%EA%B1%B4-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-1-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%98%88%EC%A0%9C</link>
      <description>&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Description&lt;/td&gt;
&lt;td&gt;COMMAND&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OS&lt;/td&gt;
&lt;td&gt;UBUNTU 22.04.3 LTS&lt;/td&gt;
&lt;td&gt;lsb_release -a&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPU&lt;/td&gt;
&lt;td&gt;NVIDIA GTX 1650&lt;/td&gt;
&lt;td&gt;nvidia-smi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CPU&lt;/td&gt;
&lt;td&gt;Intel(R)&amp;nbsp;Core(TM)&amp;nbsp;i7-6700&amp;nbsp;CPU&amp;nbsp;@&amp;nbsp;3.40GHz&lt;/td&gt;
&lt;td&gt;lscpu&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;KERNEL&lt;/td&gt;
&lt;td&gt;6.3.0-rc3+&lt;/td&gt;
&lt;td&gt;uname -r&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우분투 시스템은 위와 같고 소켓은 GPT 도움으로 예제소스를 쉽고 빠르게 테스트 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 소켓 서버 코드&lt;/p&gt;
&lt;pre id=&quot;code_1699431488741&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import socket

# 서버의 IP 주소와 포트 번호를 설정합니다.
# 여기서 ''는 모든 네트워크 인터페이스에서 들어오는 연결을 수락한다는 것을 의미합니다.
# 실제 서버의 IP 주소로 변경해야 할 수도 있습니다.
SERVER_HOST = ''
SERVER_PORT = 50081

# 소켓 객체를 생성합니다.
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 소켓을 주소에 바인드합니다.
server_socket.bind((SERVER_HOST, SERVER_PORT))

# 소켓이 클라이언트 연결을 듣기 시작합니다.
server_socket.listen(5)
print(f&quot;[*] Listening as {SERVER_HOST}:{SERVER_PORT}&quot;)

# 클라이언트가 연결되기를 기다립니다.
client_socket, client_address = server_socket.accept()
print(f&quot;[+] {client_address} is connected.&quot;)

# 클라이언트로부터 데이터를 받고 응답을 보냅니다.
try:
    while True:
        message = client_socket.recv(1024).decode()
        if not message:
            # 클라이언트가 연결을 종료했음
            break
        print(f&quot;Received from {client_address}: {message}&quot;)
        client_socket.send(&quot;Received your message.&quot;.encode())
finally:
    # 연결을 종료합니다.
    client_socket.close()
    server_socket.close()
    print(&quot;[*] Connection closed.&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은 클라이언트 소스 코드&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699431505366&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import socket

# 서버의 IP 주소와 포트 번호를 설정합니다.
# 'localhost'나 '127.0.0.1'은 로컬 시스템을 가리킵니다.
# 실제 서버의 IP 주소로 변경해야 할 수도 있습니다.
SERVER_HOST = 'nts.leehands.com'
SERVER_PORT = 50081

# 소켓 객체를 생성합니다.
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 지정된 호스트와 포트에 연결합니다.
client_socket.connect((SERVER_HOST, SERVER_PORT))
print(f&quot;[*] Connected to {SERVER_HOST}:{SERVER_PORT}&quot;)

# 서버에 메시지를 전송합니다.
client_socket.send(&quot;Hello, Server!&quot;.encode())

# 서버의 응답을 받습니다.
response = client_socket.recv(1024).decode()
print(f&quot;Server said: {response}&quot;)

# 소켓 연결을 종료합니다.
client_socket.close()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 내부 IP 는 잘되지만 외부 IP 으로 접속하면 안될 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그것은 바로 우분투의 방화벽 설정 때문이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같이 방화벽 허용을 해줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1699431609370&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo ufw allow 50081/tcp
sudo ufw allow 50081/udp&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;644&quot; data-origin-height=&quot;353&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1Owtf/btszVuG4pvW/55Cihf2YMRT6GKbk5DCZ5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1Owtf/btszVuG4pvW/55Cihf2YMRT6GKbk5DCZ5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1Owtf/btszVuG4pvW/55Cihf2YMRT6GKbk5DCZ5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1Owtf%2FbtszVuG4pvW%2F55Cihf2YMRT6GKbk5DCZ5K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;644&quot; height=&quot;353&quot; data-origin-width=&quot;644&quot; data-origin-height=&quot;353&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 소켓 통신이 잘되는 것을 가볍게 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음시간에 봐요~~`&lt;/p&gt;</description>
      <category>파이썬</category>
      <category>Python</category>
      <category>socket</category>
      <category>소켓통신</category>
      <category>파이썬</category>
      <author>LEEHANDS</author>
      <guid isPermaLink="true">https://leehands.tistory.com/337</guid>
      <comments>https://leehands.tistory.com/entry/%EC%9A%B0%EB%B6%84%ED%88%AC-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90-%EC%86%8C%EC%BC%93-%ED%86%B5%EC%8B%A0-%EB%AC%B4%EC%A1%B0%EA%B1%B4-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-1-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%98%88%EC%A0%9C#entry337comment</comments>
      <pubDate>Wed, 8 Nov 2023 17:21:04 +0900</pubDate>
    </item>
    <item>
      <title>우분투 컴퓨터에 텐서플로우 설치 무조건 따라하기 (3) - 메모리할당 증가</title>
      <link>https://leehands.tistory.com/entry/%EC%9A%B0%EB%B6%84%ED%88%AC-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90-%ED%85%90%EC%84%9C%ED%94%8C%EB%A1%9C%EC%9A%B0-%EC%84%A4%EC%B9%98-%EB%AC%B4%EC%A1%B0%EA%B1%B4-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-3-%EB%A9%94%EB%AA%A8%EB%A6%AC%ED%95%A0%EB%8B%B9-%EC%A6%9D%EA%B0%80</link>
      <description>&lt;table style=&quot;color: #333333; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;List&lt;/td&gt;
&lt;td&gt;Description&lt;/td&gt;
&lt;td&gt;COMMAND&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OS&lt;/td&gt;
&lt;td&gt;UBUNTU 22.04.3 LTS&lt;/td&gt;
&lt;td&gt;lsb_release -a&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPU&lt;/td&gt;
&lt;td&gt;NVIDIA GTX 1650&lt;/td&gt;
&lt;td&gt;nvidia-smi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CPU&lt;/td&gt;
&lt;td&gt;Intel(R)&amp;nbsp;Core(TM)&amp;nbsp;i7-6700&amp;nbsp;CPU&amp;nbsp;@&amp;nbsp;3.40GHz&lt;/td&gt;
&lt;td&gt;lscpu&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;KERNEL&lt;/td&gt;
&lt;td&gt;6.3.0-rc3+&lt;/td&gt;
&lt;td&gt;uname -r&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;NVIDIA 그래픽카드와 Tensorflow 관련 라이브러리를 모두 따라서 설치했다면 샘플코드 실행시 문제가 없을 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 필자는 메모리부족현상을 겪었는데 로그를 보면 그래픽카드 메모리보다 낮은 할당이 되어있는 것이 문제였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 GPT 에게 물어봐서 해결했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우분투 쉘에 아래와 같이 타이핑 후 Enter 만하면된다.&lt;/p&gt;
&lt;pre id=&quot;code_1699407051463&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;export TF_GPU_ALLOCATOR=cuda_malloc_async&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필자의 그래픽카드는 4G 의 메모리를 가졌기때문에 위 문구를 추가해서 완전히 해결되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 위 설정은 부팅시마다 해줘야하기때문에 환경변수에 저장하여 전역으로 적용될 수 있도록해도됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vim /etc/environment 파일 아래 추가합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1699420567619&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;TF_GPU_ALLOCATOR=cuda_malloc_async&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;752&quot; data-origin-height=&quot;118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EBc5J/btsz1KHGboH/kqMwNHOixkuFUV2hZdWoY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EBc5J/btsz1KHGboH/kqMwNHOixkuFUV2hZdWoY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EBc5J/btsz1KHGboH/kqMwNHOixkuFUV2hZdWoY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEBc5J%2Fbtsz1KHGboH%2FkqMwNHOixkuFUV2hZdWoY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;752&quot; height=&quot;118&quot; data-origin-width=&quot;752&quot; data-origin-height=&quot;118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 샘플코드 실행시 아래 로그처럼 메모리가 할당 잘됨을 알 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;Created device /job:localhost/replica:0/task:0/device:GPU:0 with 2586 MB memory:&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;gt; device: 0, name: NVIDIA GeForce GTX 1650, pci bus id: 0000:01:00.0, compute capability: 7.5&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 아래 깃랩을 통해 소스코드 다운로드 받을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a title=&quot;gitlab-leehands&quot; href=&quot;https://gitlab.leehands.com/nh/hoby/opencv/-/tree/03_traing_by_using_opencv_images/traing_image?ref_type=heads&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://gitlab.leehands.com/nh/hoby/opencv/-/tree/03_traing_by_using_opencv_images/traing_image?ref_type=heads&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1699407409905&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;traing_image &amp;middot; 03_traing_by_using_opencv_images &amp;middot; NH / hoby / opencv &amp;middot; GitLab&quot; data-og-description=&quot;GitLab Community Edition&quot; data-og-host=&quot;gitlab.leehands.com&quot; data-og-source-url=&quot;https://gitlab.leehands.com/nh/hoby/opencv/-/tree/03_traing_by_using_opencv_images/traing_image?ref_type=heads&quot; data-og-url=&quot;http://gitlab.leehands.com/nh/hoby/opencv/-/tree/03_traing_by_using_opencv_images/traing_image?ref_type=heads&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b3pvFz/hyUrynREqn/K3JqKqd7m95R15om5Xto41/img.jpg?width=1024&amp;amp;height=1024&amp;amp;face=0_0_1024_1024,https://scrap.kakaocdn.net/dn/kMhle/hyUrtz6fsF/OcMwH3mgUpLQ9xtWyBQlGK/img.jpg?width=1024&amp;amp;height=1024&amp;amp;face=0_0_1024_1024&quot;&gt;&lt;a href=&quot;https://gitlab.leehands.com/nh/hoby/opencv/-/tree/03_traing_by_using_opencv_images/traing_image?ref_type=heads&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://gitlab.leehands.com/nh/hoby/opencv/-/tree/03_traing_by_using_opencv_images/traing_image?ref_type=heads&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b3pvFz/hyUrynREqn/K3JqKqd7m95R15om5Xto41/img.jpg?width=1024&amp;amp;height=1024&amp;amp;face=0_0_1024_1024,https://scrap.kakaocdn.net/dn/kMhle/hyUrtz6fsF/OcMwH3mgUpLQ9xtWyBQlGK/img.jpg?width=1024&amp;amp;height=1024&amp;amp;face=0_0_1024_1024');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;traing_image &amp;middot; 03_traing_by_using_opencv_images &amp;middot; NH / hoby / opencv &amp;middot; GitLab&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;GitLab Community Edition&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;gitlab.leehands.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1699407410922&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
import os
import random

# GPU 메모리 관리 설정 변경
#gpus = tf.config.experimental.list_physical_devices('GPU')
#if gpus:
#    for gpu in gpus:
#        tf.config.experimental.set_memory_growth(gpu, True)

# 이미지 크기 설정 (폭과 높이를 모델에 맞게 조정)
image_size = (640,480)
batch_size = 2  # 배치 크기 증가

train_datagen = ImageDataGenerator(
    rescale=1./255,  # 이미지를 [0, 1] 범위로 정규화
    rotation_range=20,  # 무작위 회전
    width_shift_range=0.2,  # 가로 방향으로 무작위 이동
    height_shift_range=0.2,  # 세로 방향으로 무작위 이동
    shear_range=0.2,  # 전단 변환 적용
    zoom_range=0.2,  # 무작위 확대/축소
    horizontal_flip=True,  # 수평 뒤집기
    fill_mode='nearest'  # 경계에서 생성된 픽셀 값 채우기
)

validation_datagen = ImageDataGenerator(rescale=1./255)

# 훈련 및 검증 데이터 생성자 생성
train_generator = train_datagen.flow_from_directory(
    'images/train',  # 훈련 데이터 디렉토리 설정
    target_size=image_size,
    batch_size=batch_size,
    class_mode='binary'  # 이진 분류
)

validation_generator = validation_datagen.flow_from_directory(
    'images/validation',  # 검증 데이터 디렉토리 설정
    target_size=image_size,
    batch_size=batch_size,
    class_mode='binary'
)

# 모델 정의
model = Sequential([
    Conv2D(32, (3, 3), activation='relu', input_shape=(640, 480, 3)),
    MaxPooling2D(2, 2),
    Flatten(),
    Dense(64, activation='relu'),
    Dense(1, activation='sigmoid')
])

# 모델 컴파일
model.compile(optimizer='adam',
              loss='binary_crossentropy',
              metrics=['accuracy'])

# 모델 훈련
history = model.fit(
    train_generator,
    steps_per_epoch=len(train_generator),
    epochs=1000,
    validation_data=validation_generator,
    validation_steps=len(validation_generator)
)

# 훈련 결과 확인
train_loss, train_acc = model.evaluate(train_generator, steps=len(train_generator))
validation_loss, validation_acc = model.evaluate(validation_generator, steps=len(validation_generator))

print(f&quot;Training Loss: {train_loss}, Training Accuracy: {train_acc}&quot;)
print(f&quot;Validation Loss: {validation_loss}, Validation Accuracy: {validation_acc}&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이정도에 문제가 없었다면 이제 진정한 AI 학습의 길이 열려있겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>TensorFlow</category>
      <category>Ai</category>
      <category>gpumemory</category>
      <category>gpu메모리</category>
      <category>tensorflow</category>
      <category>TF</category>
      <category>메모리할당</category>
      <author>LEEHANDS</author>
      <guid isPermaLink="true">https://leehands.tistory.com/336</guid>
      <comments>https://leehands.tistory.com/entry/%EC%9A%B0%EB%B6%84%ED%88%AC-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90-%ED%85%90%EC%84%9C%ED%94%8C%EB%A1%9C%EC%9A%B0-%EC%84%A4%EC%B9%98-%EB%AC%B4%EC%A1%B0%EA%B1%B4-%EB%94%B0%EB%9D%BC%ED%95%98%EA%B8%B0-3-%EB%A9%94%EB%AA%A8%EB%A6%AC%ED%95%A0%EB%8B%B9-%EC%A6%9D%EA%B0%80#entry336comment</comments>
      <pubDate>Wed, 8 Nov 2023 10:37:59 +0900</pubDate>
    </item>
  </channel>
</rss>