BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
ORGANIZER:MAILTO:
DTSTART:20151201T200000Z
DTEND:20151201T210000Z
LOCATION:WebEx
SUMMARY:BeagleBone Black Webinar Series: Recipe #5 - I/O with C and mmap()
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:f+PLY7vSgRfxwsVb8Og== Want more BeagleBone Recipes? {tabbedtable} Tab Label Webinar About this Webinar In this webinar series from BeagleBoard.org and element14, Jason Kridner will highlight five “recipes” from his latest book “BeagleBone CookBook” and demonstrate the projects. There will also be a live Q&amp;A session following the demonstration. Not able to attend one of the live sessions? Don’t worry, we’ll have the recordings of these events available after the presentation. In smaller processors that aren’t running an operating system, you can read and write a given memory address directly from C. With Linux running on BeagleBone, many of the memory locations are protected, so you can’t accidentally access them directly. This webinar will show how to use mmap() to map the GPIO registers to an array in C. Then all you need to do is access the array to read and write the registers. This can sometimes be a great way to speed up accesses. {gallery} BeagleBone Black contentimage_63291.jpg-632x421.jpg?sv=2016-05-31&amp;sr=b&amp;sig=4P2dHXht0AstfduHvs9iqV11ILFQXP0%2Bap%2Foz3%2Bqb9M%3D&amp;se=2026-09-26T23%3A59%3A59Z&amp;sp=r&amp;_=2iLd3itfHAIWnIICSCcEVw== BeagleBone Black QAsDUO+AP7g== PushLED About the Presenter Jason Kridner is a software architecture manager for embedded processors at Texas Instruments Incorporated (TI). Kridner is also the co-founder of BeagleBoard.org where he has created open-source development tools such as BeagleBoard, BeagleBoard-xM, BeagleBone and the new BeagleBone Black. During his 20-year tenure with TI, Kridner has become an active leader in the open-source community. He has engaged audiences at a variety of industry and hardware and software developer shows, including Maker Faire, Embedded Linux Conference, Android Builders Summit, OSCON, CES, Design West, Collaboration Summit and Design East. Co-author of books such as Bad to the Bone and BeagleBone Cookbook. contentimage_63293.jpg-121x182.jpg?sv=2016-05-31&amp;sr=b&amp;sig=3xD%2BI1fmjMsq8xC8HUnhgC%2FTpW9ceadwEaR%2B6BXs6sU%3D&amp;se=2026-09-26T23%3A59%3A59Z&amp;sp=r&amp;_=l+b5y0ttsyg4ztOOR+Z13w== Webinar Recording \n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n\n \n \n \n \n	\n \n\n\n\n\n\n \n\n \n \n You don't have permission to edit metadata of this video. \n \n \n\n \n \n\n\n \n\n \n \n \n \n \n Edit media \n \n \n \n \n \n Dimensions \n \n \n \n x \n \n \n \n \n Small \n Medium \n Large \n Custom \n \n \n \n \n Subject (required) \n \n \n Brief Description \n \n \n Tags (separated by comma) \n \n \n Video visibility in search results \n \n Visible \n Hidden \n \n \n \n Parent content \n \n \n \n \n \n \n \n \n \n \n Poster \n \n \n \n Upload \n Preview \n \n \n \n \n \n \n \n \n \n \n \n \n \n Ok \n \n \n \n \n \n Cancel
X-ALT-DESC;FMTTYPE=text/html:<html><body><p style="margin:0;text-align:center;"><span><a href="https://community.element14.com/resized-image/__size/492x96/__key/telligent-evolution-extensions-calendar-calendarfiles/00-00-00-00-71/contentimage_5F00_63290.jpg"><a href="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/telligent/evolution/extensions/calendar/calendarfiles/00/00/00/00/71/contentimage_63290.jpg-492x96.jpg?sv=2016-05-31&amp;sr=b&amp;sig=Uve%2FyH5tYXb9u4Zp8DfMUqOfepF9r04qcHbFURLZEwI%3D&amp;se=2026-09-26T23%3A59%3A59Z&amp;sp=r&amp;_=eH/f+PLY7vSgRfxwsVb8Og==">f+PLY7vSgRfxwsVb8Og==</a></a></span></p><p style="margin:0;text-align:center;"><span class="e14-button-large e14-button-primary"><a class="jive-link-external-small" href="https://community.element14.com/learn/events/w/documents/1014/beaglebone-black-webinar-series" target="_blank" title="Want more BeagleBone Recipes?">Want more BeagleBone Recipes?</a></span></p><p style="margin:0;padding:0px;text-align:center;">&nbsp;</p><p style="margin:0;padding:0px;text-align:center;">&nbsp;</p><table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"><thead><tr><th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"><p style="margin:0;"><strong>{tabbedtable} Tab Label</strong></p></th><th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"><strong>Webinar</strong></th></tr></thead><tbody><tr><td style="border:1px solid black;border:1px solid #000000;padding:2px;">About this Webinar</td><td style="border:1px solid black;border:1px solid #000000;padding:2px;"><p style="margin:0;"><span style="color:#500050;font-size:12pt;font-family:&#39;Arial&#39;,&#39;sans-serif&#39;;">In this webinar series from BeagleBoard.org and element14, Jason Kridner will highlight five “recipes” from his latest book “BeagleBone CookBook” and demonstrate the projects. There will also be a live Q&amp;A session following the demonstration.&nbsp; Not able to attend one of the live sessions? Don’t worry, we’ll have the recordings of these events available after the presentation.</span><span style="font-size:12pt;"><strong> </strong></span></p><p style="margin:0;"><span style="font-size:9.0pt;font-family:&#39;Arial&#39;,&#39;sans-serif&#39;;color:#500050;"><br /></span></p><p style="margin:0;"><span style="color:#500050;font-size:12pt;font-family:&#39;Arial&#39;,&#39;sans-serif&#39;;">In smaller processors that aren’t running an operating system, you can read and write a given memory address directly from C. With Linux running on BeagleBone, many of the memory locations are protected, so you can’t accidentally access them directly. </span></p><p style="margin:0;"><span style="color:#500050;font-size:12pt;font-family:&#39;Arial&#39;,&#39;sans-serif&#39;;"><br /></span></p><p style="margin:0;"><span style="font-size:12pt;font-family:Arial, sans-serif;color:#500050;">This webinar will show how to use mmap() to map the GPIO registers to an array in C. Then all you need to do is access the array to read and write the registers. This can sometimes be a great way to speed up accesses.</span><span style="font-size:12pt;"><strong> </strong></span></p><p style="margin:0;padding:0px;">&nbsp;</p><p style="margin:0;padding:0px;">&nbsp;</p><table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"><thead><tr><th style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;padding:2px;color:#ffffff;text-align:center;" valign="middle"><strong>{gallery} BeagleBone Black </strong></th></tr></thead><tbody><tr><td style="border:1px solid black;border:1px solid #000000;padding:2px;"><p style="margin:0;"><span><a href="https://community.element14.com/resized-image/__size/632x421/__key/telligent-evolution-extensions-calendar-calendarfiles/00-00-00-00-71/contentimage_5F00_63291.jpg"><a href="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/telligent/evolution/extensions/calendar/calendarfiles/00/00/00/00/71/contentimage_63291.jpg-632x421.jpg?sv=2016-05-31&amp;sr=b&amp;sig=4P2dHXht0AstfduHvs9iqV11ILFQXP0%2Bap%2Foz3%2Bqb9M%3D&amp;se=2026-09-26T23%3A59%3A59Z&amp;sp=r&amp;_=2iLd3itfHAIWnIICSCcEVw==">contentimage_63291.jpg-632x421.jpg?sv=2016-05-31&amp;sr=b&amp;sig=4P2dHXht0AstfduHvs9iqV11ILFQXP0%2Bap%2Foz3%2Bqb9M%3D&amp;se=2026-09-26T23%3A59%3A59Z&amp;sp=r&amp;_=2iLd3itfHAIWnIICSCcEVw==</a></a></span></p><p style="margin:0;"><span style="font-size:13.3333px;"><strong>BeagleBone Black </strong></span></p></td></tr><tr><td colspan="1" style="border:1px solid black;border:1px solid #000000;"></td></tr><tr><td style="border:1px solid black;border:1px solid #000000;"><p style="margin:0;"><span><a href="https://community.element14.com/resized-image/__size/1094x900/__key/telligent-evolution-extensions-calendar-calendarfiles/00-00-00-00-71/contentimage_5F00_63292.png"><a href="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/telligent/evolution/extensions/calendar/calendarfiles/00/00/00/00/71/contentimage_63292.png-1094x900.png?sv=2016-05-31&amp;sr=b&amp;sig=TwZB66MWzHfTa3TtRJjPOkQAijII9rPV%2FmhohEz0e4Y%3D&amp;se=2026-09-26T23%3A59%3A59Z&amp;sp=r&amp;_=NZI5GxnuS9/QAsDUO+AP7g==">QAsDUO+AP7g==</a></a></span></p><p style="margin:0;"><strong>PushLED </strong></p></td></tr></tbody></table></td></tr><tr><td style="border:1px solid black;border:1px solid #000000;padding:2px;">About the Presenter</td><td style="border:1px solid black;border:1px solid #000000;padding:2px;"><p style="margin:0;"><span style="font-size:12pt;font-family:Arial, sans-serif;"><span style="font-family:arial, helvetica, sans-serif;">Jason Kridner is a software architecture manager for embedded processors at Texas Instruments Incorporated (TI). Kridner is also the co-founder of BeagleBoard.org where he has created open-source development tools such as BeagleBoard, BeagleBoard-xM, BeagleBone and the new BeagleBone Black. During his 20-year tenure with TI, Kridner has become an active leader in the open-source community. He has engaged audiences at a variety of industry and hardware and software developer shows, including Maker Faire, Embedded Linux Conference, Android Builders Summit, OSCON, CES, Design West, Collaboration Summit and Design East.&nbsp; </span><span style="color:#1f497d;font-family:arial, helvetica, sans-serif;">Co-author of books such as Bad to the Bone and BeagleBone Cookbook.</span></span></p><p style="margin:0;"><span style="color:#1f497d;font-size:9.0pt;font-family:&#39;Arial&#39;,&#39;sans-serif&#39;;"><br /><span><a href="https://community.element14.com/resized-image/__size/121x182/__key/telligent-evolution-extensions-calendar-calendarfiles/00-00-00-00-71/contentimage_5F00_63293.jpg"><a href="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/telligent/evolution/extensions/calendar/calendarfiles/00/00/00/00/71/contentimage_63293.jpg-121x182.jpg?sv=2016-05-31&amp;sr=b&amp;sig=3xD%2BI1fmjMsq8xC8HUnhgC%2FTpW9ceadwEaR%2B6BXs6sU%3D&amp;se=2026-09-26T23%3A59%3A59Z&amp;sp=r&amp;_=l+b5y0ttsyg4ztOOR+Z13w==">contentimage_63293.jpg-121x182.jpg?sv=2016-05-31&amp;sr=b&amp;sig=3xD%2BI1fmjMsq8xC8HUnhgC%2FTpW9ceadwEaR%2B6BXs6sU%3D&amp;se=2026-09-26T23%3A59%3A59Z&amp;sp=r&amp;_=l+b5y0ttsyg4ztOOR+Z13w==</a></a></span></span></p></td></tr><tr><td style="border:1px solid black;border:1px solid #000000;padding:2px;">Webinar Recording</td><td style="border:1px solid black;border:1px solid #000000;padding:2px;"><p style="margin:0;"></p><span>        <div style='width: 520px; height: 333px;' class='se-vm-wrapper fragment-b3ddff4f373f41a3befafb182a78f9e9817680985_media se-video-view se-video-frame-container hidden'>                    <iframe loading="lazy" allowfullscreen src='https://www.youtube-nocookie.com/embed/-ec83pkTUpk' frameborder="0"></iframe><div class="se-video-viewer-flex-space-between se-video-viewer-controls hidden">    <div>        <span class="se-media-rating-control"></span>	</div>		</div>    </div>    <div class='se-vm-wrapper fragment-b3ddff4f373f41a3befafb182a78f9e9817680985_media se-video-message se-video-message-no-access hidden'>        <div class='se-video-message-box'>            <div>You don't have permission to edit metadata of this video.</div>        </div>    </div>    <div class="se-vm-wrapper fragment-b3ddff4f373f41a3befafb182a78f9e9817680985_media se-video-editor hidden">        <div class='se-video-modal-curtain hidden'></div><div class='se-video-modal'>        <div class="modal-title hidden">        <div class="modal-close-wrapper">            <div class="se-video-modal-close modal-close"></div>        </div>        <div style="pointer-events: none; user-select: none;">Edit media</div>    </div>                <div>                <div class="se-video-flex-row-center se-video-editor-dimensions hidden" style="margin-bottom: 20px;">            <label style="margin-right: 25px;">Dimensions</label>                                    <input type="text" class="se-editor-width mce-textbox" name="se-editor-width" class="mce-textbox mcemedia-width" value="" size="4">                        <span style="margin: 0 5px;">x</span>                                    <input type="text" class="se-editor-height mce-textbox" name="se-editor-height" class="mce-textbox mcemedia-width" value="" size="4" style="margin-right: 10px;">                                    <select class="se-video-editor-select se-video-editor-dimension-select" style="border-radius: 3px;">                <option value="small">Small</option>                <option value="medium">Medium</option>                <option value="large">Large</option>                <option value="custom">Custom</option>            </select>        </div>                                <label class="se-video-editor-label" style="margin-top: 10px;">Subject <b>(required)</b></label>        <input type="text" class="se-video-editor-title se-video-editor-input mce-textbox" />                        <label class="se-video-editor-label">Brief Description</label>        <input type="text" class="se-video-editor-description se-video-editor-input mce-textbox" />                        <label class="se-video-editor-label">Tags (separated by comma)</label>        <input type="text" class="se-video-editor-tags se-video-editor-input mce-textbox" />                        <label class="se-video-editor-label">Video visibility in search results</label>        <select class="se-video-editor-search-visibility-select se-video-editor-select">            <option value="true">Visible</option>            <option value="false">Hidden</option>        </select>                        <div class=" hidden ">            <label class="se-video-editor-label">Parent content</label>            <div class="se-video-flex-row" style="align-items: center; margin-bottom: 15px;">                <select class="se-video-editor-parent-select se-video-editor-select" style="margin-right: 15px;">                                </select>                                <a class="se-video-editor-open-content-button se-video-editor-anchor" target="_blank">                    <img loading="lazy" alt="image" class="se-video-editor-external-icon" />                </a>            </div>        </div>                        <label class="se-video-editor-label">Poster</label>        <input type="file" class="se-editor-og-image-input hidden" accept="image/*" />                <div class="se-video-flex-row" style="margin-bottom: 10px;">            <a class="se-video-editor-og-image-upload se-video-editor-anchor">Upload</a>            <a class="se-video-editor-og-image-preview-ext se-video-editor-anchor" target="_blank" style="margin-left: 10px;">Preview</a>        </div>                        <div style="height: 100px">            <div class="se-video-editor-og-image-wrapper hidden">                <img loading="lazy" alt="image" class="se-video-editor-og-image-preview" />            </div>         </div>                            <div style='height: 67px;'></div>                                <div style="margin-top: 20px;">            <div class="se-editor-submit-button mce-widget mce-btn mce-primary mce-first mce-btn-has-text" tabindex="-1" role="button">                <button role="presentation" type="button" tabindex="-1" style="height: 100%;width: 100%;">                    <span class="mce-txt">Ok</span>                </button>            </div>                        <div class="se-editor-cancel-button mce-widget mce-btn mce-last mce-btn-has-text" tabindex="-1" role="button">                <button role="presentation" type="button" tabindex="-1" style="height: 100%; width: 100%;">                    <span class="mce-txt">Cancel</span>                </button>            </div>        </div>    </div></div>    </div>	<script type="text/javascript" src="https://community-storage.element14.com/defaultwidgets/00ec0202bb9041c288cc63c14b3070ba/b3ddff4f373f41a3befafb182a78f9e9/view-video.js?sv=2016-05-31&amp;sr=b&amp;si=telligent&amp;sig=gswBxQDrk4%2B2Cd3qZVXoKj8cq8eT5%2BOKsHl6%2BUSCaPc%3D&amp;_=CFBOVZ9Hl72qCFKNy8OB/A=="></script>	<script type="text/javascript">    	jQuery(function() {    		jQuery.telligent.evolution.widgets.seVideoManagerVideoView.register({    		    wrapperId: '.fragment-b3ddff4f373f41a3befafb182a78f9e9817680985_media',                isUserHasAccess: false,                finalRating: 0,                mediaId: 10720,                contextWidth: '520',                contextHeight: '333',                minWidth: '670px',                resources: {                   linkCopied: 'Link copied to clipboard',                   errorContactAdministrator: 'An error occurred please try again or contact your administrator.'                }    		});    	});	</script>	<script type="text/javascript" src="https://community-storage.element14.com/defaultwidgets/00ec0202bb9041c288cc63c14b3070ba/b3ddff4f373f41a3befafb182a78f9e9/view-editor.js?sv=2016-05-31&amp;sr=b&amp;si=telligent&amp;sig=awvb8y0Rk2H6t7k6hhMSe%2BUzZ6MCkb8HUe0sXvuniXw%3D&amp;_=uJcuIarcw7L5SMKfmUClfA=="></script>	<script type="text/javascript">    	jQuery(function() {    		jQuery.telligent.evolution.widgets.seVideoManagerEditorView.register({    		    wrapperId: '.fragment-b3ddff4f373f41a3befafb182a78f9e9817680985_media',    		    thumbnailUrl: null,                macroType: 'URL',                videoUrl: 'https://youtube.com/watch?v=-ec83pkTUpk',                mediaId: '10720',                mediaUrl: 'https://youtube.com/watch?v=-ec83pkTUpk',                externalIconUrl: 'https://community-storage.element14.com/defaultwidgets/00ec0202bb9041c288cc63c14b3070ba/b3ddff4f373f41a3befafb182a78f9e9/external.svg?sv=2016-05-31&sr=b&si=telligent&sig=%2BcmjT0EPCbQwVG3ZBF%2BULHNX6D7HMnIhAAquv03LP7I%3D&_=XYWqYqLBtyEV1GXp5mZgmg==',                thumbnailUploadUrl: 'https://community.element14.com/api.ashx/v2/cfs/temporary.json?UploadContextId=50cd7982-7abe-4a17-a019-bbea122fafb9',                rteStyles: '<style>    div.push-notification.error { z-index: 100000 !important; }    /* hide original dimensions */    .modal table.mcetelligent-form > tbody > tr:nth-child(2) { visibility: collapse; }    .mcemedia-previewwrapper::after { content: none; }    .modal > .modal-content .mcemedia-previewwrapper { padding: 0; border: none; height: auto; }    .modal > .modal-content { height: 670px !important; }    .modal > .modal-content .mce-container.mce-panel { height: 680px !important; }    .modal > .modal-content .mce-container-body.mce-abs-layout { height: 670px !important; }</style>',                    		    // View states                isConversionViewState: false,                isErrorViewState: false,                isUserHasAccess: false,                                // Parents                parentContent: null,                parentContentList: [],                                resources: {                    errorContactAdministrator: 'An error occurred please try again or contact your administrator.',                    subjectRequired: '"Subject" is required field.',                    subjectExceededLength: '"Subject" exceeded maximum length of 255 characters.',                    descriptionExceededLength: '"Brief Description" exceeded maximum length of 250 characters.',                    invalidDimensions: 'Width or Height contains invalid values.'                }    		});    	});	</script>   <link rel="stylesheet" href="https://community-storage.element14.com/uifiles/h/000000004976f648/00ec0001bb9041c288cc63c14b3070ba/s/00000000000000000000000000000000/0/plugin_000/b3ddff4f373f41a3befafb182a78f9e9/f/3/638557050110000000/https/communityelement14com/443/styles.css?_=Gzz+IUttdesG+FA3yQV0Hw==" type="text/css"></span><p style="margin:0;"></p></td></tr></tbody><tbody></tbody></table><p style="margin:0;padding:0px;">&nbsp;</p><div> </div><script>window.top.e14.func.queueScripts.add(function() { window.top.e14.func.e14DynaloadTabbedTables.init(); });</script><script>window.top.e14.func.queueScripts.add(function() { window.top.e14.func.e14DynaloadGallery(window.document);}, true );</script></body></html>
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR