<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>LPC Microcontrollers中的主题 Re: LPC55S69 : AHB non-secure privilege check</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-AHB-non-secure-privilege-check/m-p/1044367#M40552</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/Alice_Yang"&gt;Alice_Yang&lt;/A&gt;‌ !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes, I'm able quite freely to alocate code in both parts and use MPUs for configure "access windows" and etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But enforcing privilege check give a lot of code repartitioning and may be not so everything is clear for me yet.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let's talk about simple case for non-secure part only.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have privileged RTOS code and nonprivileged tasks code and nonprivileges library functions and also privileged ISR/SVC handlers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All of them calls memcpy/memset&amp;nbsp; functions what located in unprivileged code area by MPU and AHB matrix settings.&lt;/P&gt;&lt;P&gt;I have got impression , I should have privileged and nonprivileged copied of memset/memcpy.&lt;/P&gt;&lt;P&gt;If nonprivileged code would like to execute privileged ones, it can be done by SVC call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But privileged can't execute nonprivileged code at all. Is this so ?&lt;/P&gt;&lt;P&gt;Similar problem coming with peripherals. I can use 1-2 peripherals in nonprivileged mode per RTOS task.&lt;/P&gt;&lt;P&gt;but not more, becouse limited amount of MPU sections. As result some peripherals can be accessed in SVC call only.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But in case of data , peripheral code can access privileged and nonprivileged data/peripherals. Is this so ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 03 Jun 2020 11:15:07 GMT</pubDate>
    <dc:creator>EugeneHiihtaja</dc:creator>
    <dc:date>2020-06-03T11:15:07Z</dc:date>
    <item>
      <title>LPC55S69 : AHB non-secure privilege check</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-AHB-non-secure-privilege-check/m-p/1044365#M40550</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have enabled AHB matrix non-secure privilege check in misc register and try to understand how-to code should be rearranged in this case.&lt;/P&gt;&lt;P&gt;Does it true if Nonprivileged code&amp;nbsp; ( AHB controller settings) can't be executed in privileged mode at all ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As usually enviroment contain some common code what can be executed in both modes, for example some library function and other code like asserts and etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this case is quite difficalt to separate code and keep rule if privileged mode can't execute nonprivileged code areas.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have any suggestion how to overcome this issue ?&lt;/P&gt;&lt;P&gt;May be some RTOSes can be suggested for usage what are designed for fully utilize LPC security capabilities ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jun 2020 06:56:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-AHB-non-secure-privilege-check/m-p/1044365#M40550</guid>
      <dc:creator>EugeneHiihtaja</dc:creator>
      <dc:date>2020-06-02T06:56:01Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S69 : AHB non-secure privilege check</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-AHB-non-secure-privilege-check/m-p/1044366#M40551</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A _jive_internal="true" data-content-finding="Community" data-userid="320103" data-username="yevgen.gyl@solita.fi" href="https://community.nxp.com/people/yevgen.gyl@solita.fi"&gt;Eugene Hiihtaja&lt;/A&gt; ,&lt;/P&gt;&lt;P&gt;-Do you meaning, you separate non-secure part into privilege and non-privilege, then use some command code in&lt;/P&gt;&lt;P&gt;both? If yes, you only can put the command code in both privilege part and non-privilege part.&lt;/P&gt;&lt;P&gt;- While I guess you maybe meaning secure and non-secure, because the privilege and non-privilege is used in&lt;/P&gt;&lt;P&gt;RTOSes.&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you meaning secure and non-secure state to call a common code, you can save the code in NSC part. Also the&lt;/P&gt;&lt;P&gt;hello_world_S/NS demo under sdk show this, you can have a look.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px; border: 0px; font-weight: 400; font-style: normal; font-size: 15px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; vertical-align: baseline; color: #51626f; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial;"&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px; border: 0px; font-weight: 400; font-style: normal; font-size: 15px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; vertical-align: baseline; color: #51626f; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial; min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px; border: 0px; font-weight: 400; font-style: normal; font-size: 15px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; vertical-align: baseline; color: #51626f; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial;"&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px; border: 0px; font-weight: 400; font-style: normal; font-size: 15px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; vertical-align: baseline; color: #51626f; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial; min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px; border: 0px; font-weight: 400; font-style: normal; font-size: 15px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; vertical-align: baseline; color: #51626f; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial;"&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt;Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Jun 2020 09:10:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-AHB-non-secure-privilege-check/m-p/1044366#M40551</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2020-06-03T09:10:43Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S69 : AHB non-secure privilege check</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-AHB-non-secure-privilege-check/m-p/1044367#M40552</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/Alice_Yang"&gt;Alice_Yang&lt;/A&gt;‌ !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes, I'm able quite freely to alocate code in both parts and use MPUs for configure "access windows" and etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But enforcing privilege check give a lot of code repartitioning and may be not so everything is clear for me yet.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let's talk about simple case for non-secure part only.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have privileged RTOS code and nonprivileged tasks code and nonprivileges library functions and also privileged ISR/SVC handlers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All of them calls memcpy/memset&amp;nbsp; functions what located in unprivileged code area by MPU and AHB matrix settings.&lt;/P&gt;&lt;P&gt;I have got impression , I should have privileged and nonprivileged copied of memset/memcpy.&lt;/P&gt;&lt;P&gt;If nonprivileged code would like to execute privileged ones, it can be done by SVC call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But privileged can't execute nonprivileged code at all. Is this so ?&lt;/P&gt;&lt;P&gt;Similar problem coming with peripherals. I can use 1-2 peripherals in nonprivileged mode per RTOS task.&lt;/P&gt;&lt;P&gt;but not more, becouse limited amount of MPU sections. As result some peripherals can be accessed in SVC call only.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But in case of data , peripheral code can access privileged and nonprivileged data/peripherals. Is this so ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Jun 2020 11:15:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-AHB-non-secure-privilege-check/m-p/1044367#M40552</guid>
      <dc:creator>EugeneHiihtaja</dc:creator>
      <dc:date>2020-06-03T11:15:07Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S69 : AHB non-secure privilege check</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-AHB-non-secure-privilege-check/m-p/1044368#M40553</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Eugene,&lt;/P&gt;&lt;P&gt;Sorry, about the RTOS question, please take a tick in this thread:&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" class="link-titled" href="https://community.nxp.com/community/mqx/content" title="https://community.nxp.com/community/mqx/content"&gt;MQX Software Solutions&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There is RTOS supporters help you well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Alice&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Jun 2020 09:36:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-AHB-non-secure-privilege-check/m-p/1044368#M40553</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2020-06-05T09:36:35Z</dc:date>
    </item>
  </channel>
</rss>

