MSI Based Interrupt - ISR not called

Hi,
Here is how MSI based interrupt has been set up:
1. In the INF file:
;Message Signalled Interrupts
[UpdateRegistry]
HKR,"Interrupt Management",0x00000010
HKR,"Interrupt Management\MessageSignaledInterruptProperties",0x00000010
HKR,"Interrupt Management\MessageSignaledInterruptProperties",MSISupported,0x00010001,1
2. In the EvtDevicePrepareHardware:

This is the continuation of the question:
    In the descriptor-type== CmResourceTypeMemory: added creation of the Interrupt object:
WDF_INTERRUPT_CONFIG interruptConfig;
WDF_INTERRUPT_CONFIG_INIT(&interruptConfig, PCIeEvtInterruptIsr, PCIeEvtInterruptDpc);
interruptConfig.EvtInterruptEnable = PCIeEvtInterruptEnable;
interruptConfig.EvtInterruptDisable = PCIeEvtInterruptDisable;
interruptConfig.InterruptRaw = WdfCmResourceListGetDescriptor(ResourcesRaw, i);
interruptConfig.InterruptTranslated = descriptor;
status = WdfInterruptCreate(FdoData->WdfDevice, &interruptConfig,
   WDF_NO_OBJECT_ATTRIBUTES, &FdoData->WdfInterrupt);
The descriptor: Flag=6, Vector=60, Cnt=0
3. EvtDeviceD0Entry is called
4.  EvtInterruptEnable is called
5. EvtDeviceD0EntryPostInterruptsEnabled.
Why in the Resources of the Device Property Page (Device Manager) shows IRQ=0xFFFFFFF9 (-7)
does the (-7) correspond to IRQ level 6?
The interrupt ISR routine is not called a single time.
What are possible causes for not receiving the interrupts?
Thank you,Tiger

Similar Messages

  • How to call or not call a Trigger in same table based on condition?

    Hi
    How to call or not call a Trigger in below situations..
    If a table contains a record of same value i.e,
    [i[u]]ID
    1
    1
    3
    In above ID 1 is repeated for two times.
    In this situations i don't want to call a trigger..
    But, the value ID is for 3, now i want to fire a trigger.
    Based on this i want to delete in another table.
    How can I check it?
    Thanks

    Thanks for ur reply..
    The below is my scnario..
    I am having two table
    employee
    Id empcol
    101 111
    101 222
    102 444
    Department
    id deptcol
    101 457
    101 678
    102 543
    The above is my table structure no one column is PK, so i m not able create FK.
    When I am deleting from employee where id =101 and empcol=111,
    the above record is deleted.
    At present I am using After Update Trigger..
    So trigger is called and delete the id 101 in Department table.
    In my scenario i can't delete a record in Department table
    bcoz i am having id morethan 101 in employee table.
    If employee table contains one ID like 102 the Trigger should works.
    How can I check the condition After delete on employee table it contains morethan same employee id?
    The below is my Trigger..
    CREATE OR REPLACE TRIGGER CALL_TRIGGER
    AFTER DELETE ON Employee
    FOR EACH ROW
    DECLARE
    count_id pls_integer;
    BEGIN
    SELECT COUNT(*) INTO count_id from Employee WHERE ID <>:new.ID;
    IF( count_id >1) THEN
    DELETE FROM Depratment where ID=:old.ID;
    END IF;
    END;
    I am geting an error ORA-04091 table is mutuating, trigger cannot seen it.
    I had tried with package and package body also.. But no luck.
    Thanks

  • BsoD on MSI 760Gm P23 Fx(clock interrupt was not received on a secondary proces)

    If i try to run some higher end games like battlefield 2 i'll just get this BsoD saying:
    "A clock interrupt was not received on a secondary processor within the allocated time interval"
    Here's my system:
    MSI 760GM P23 FX
    Amd FX 6100 6 core processor 3.3
    16 gigs of ram
    Radeon HD 7750
    BIOS: 7641vH2
    I've elsewhere of other systems with this problem fixing it with a bios update, but as far as i'm aware i have the current recommended bios for my MB/CPU combo. also my bios should be  at their default settings since they were installed. i don't recall tweaking them at all

    that interrupt is a CPU clock instability I'm guessing that your CPU is auto boosting its clocks! you will need to access BIOS and turn off the Turbo Boost!
    then give it a retest and see if it keeps doing the A clock interrupt was not received on a secondary processor within the allocated time interval thing as your board has a max TDP of 95W and under basic frequancy its right at that level and the turbo may be over stressing the power delivery (under turbo that CPU will pull over 100W or more)!

  • How can I interrupt the blocking call when call timeout?

    Hi,Guys
    I wrote an application server(daemon process) to talk with oracle server
    continuous which used oracle9 OCCI lib, each 5 min it executes the procedure
    on the DB server.
    Now I have come cross a problem:
    If the network is blocked, app server will blocked at occi call and would
    never pass, and no exception was catched :-(
    for e.g.
    1. Oracle server reboot without shutdown oracle process
    2. udp broadcast message storm blocked the connection between app server and
    oracle DB.
    I consider maybe it's because OCCI using the blocking mode of connection
    that caused this problem.
    How can I interrupt the blocking call when call timeout?

    Manage the timeout using a separate thread. When the timeout happens, issue a break on the OCCI connection. There is no direct way as of now. You need to do this to break a OCCI connection.
    retrieve the OCI handle from the OCCI handle (e.g. using Connection::getOCIServer or Connection::getOCIServiceContext methods) and issue a OCIBreak on it. Do not forget to allocate a error handle which should be passed to OCIBreak call.

  • LABVIEW.LIB was not called from a LabVIEW process

    Hi All,
    I've inherited LV code that calls a CIN node to access a motor controller.  I'd like to compile this code to a .NET DLL, but receive the following error when calling it from an external source:
    I've read the knowledgebase article explaining the problem from here, as well as the following support questions:
    http://forums.ni.com/t5/LabVIEW/Labview-lib-was-not-called-from-a-labview-process/m-p/232548
    http://forums.ni.com/t5/LabVIEW/Problem-with-lsb-LABVIEW-LIB-was-not-called-from-a-LabVIEW/m-p/48809...
    http://forums.ni.com/t5/LabVIEW/Labview-lib-was-not-calld-from-a-labview-process/m-p/718427
    http://forums.ni.com/t5/LabVIEW/Building-a-LabVIEW-DLL-with-VIs-that-use-CINs/m-p/632817
    The conclusion seems to be recompiling is the answer.  I've tried recompiling the original CIN vi within LV with no success.  Do they mean to recompile the original C code against the newer labview.lib (sorry, I'm not all that familiar with how the CIN nodes work)?  Any suggestions would be awesome.  Thanks.
    -Joe

    You can't make use of LabVIEW manager functions in non-LabVIEW based processes. Basically unless the C code is for a CIN or DLL that is to be called by LabVIEW (inside the development system or a LabVIEW built application), any function pulled in from labview.lib is not available. LabVIEW.lib is an import library that does not implement any functions but simply imports them from the LabVIEW kernel, either the LabVIEW development system or the LabVIEW runtime DLL. And no you can't just link in the LabVIEW runtime DLL into your .Net application. This DLL needs to be started up and initialized in very specific ways, that only LabVIEW itself knows about when building an application.
    Basically if you want to recompile the code (yes in C/C++) for use in a non-LabVIEW application, you also have to remove all the link libraries from the LAbVIEW cintools directory, and replace any use of functions now unavailable (link error: unavailable external reference) with other similar functionality from your C runtime library. Or implement those functions yourself using C runtime library calls.
    Another possibility could be to actually create a LabVIEW executable that exports the functionality as ActiveX Server. Or in LabVIEW 2010 you could also select to create a .Net Interop Assembly from inside the LabVIEW project.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Fast fromula related to oracle payroll are not called from Formula result window

    Hi,
    Few of the fast fromula related to oracle payroll are not called from Formula result window , please let me know how these fast formulas are called.
    Example : PAY_GB_EDI_MOVDED6_FOOTER
    Thanks,
    Subbu.

    Hi Subbu,
    Some reports are handled by the PYUGEN engine as Magnetic reports.
    These are old fashion reports to generate Magnetic files, like BACS EDI files etc..
    select * from ff_formulas_f
    where formula_name like 'PAY_GB_EDI_MOVDED6%';
    If you see the above, there are 3 formulas defined for generating this report - Header, Body & Footer.
    All are called in a sequence by the PYUGEN process based on what you seed in pay_magnetic_blocks.
    All the logic is within these Fast formulas.
    But as they're seeded there's nothing much you can do.
    Cheers,
    Vignesh

  • Migrating Struts/ADF 10.1.2 = 10.1.3, model validation not called

    As said in thread
    reportErrors(PageLifecycleContext ctx) not called
    Old Struts 10.1.2 can remain as is and will work in JDev 10.1.3.
    For some unexplained reason in my new account registration action, the entity validation method doesn't get called after migration?
    This jsp and action are similar to the toyStore new account creation,
    10.1.3 trace extract:
    as you see prepareToCreateNewAccount
    06/07/08 20:20:38 com.photoswing.webview.actions.AccountRegisterAction.prepareModel webAccountAM call to prepareToCreateNewAccount
    06/07/08 20:20:38 com.photoswing.model.site.AccountInSiteImpl.create BEGIN
    06/07/08 20:20:38 com.photoswing.webview.actions.AccountRegisterAction.prepareModel END
    06/07/08 20:20:38 com.photoswing.webview.actions.AccountRegisterAction.processUpdateModel BEGIN
    06/07/08 20:20:38 com.photoswing.webview.actions.AccountRegisterAction.processUpdateModel actionForm: oracle.adf.controller.v2.struts.forms.BindingContainerActionForm
    06/07/08 20:20:38 com.photoswing.webview.actions.AccountRegisterAction.processUpdateModel curLogin:
    06/07/08 20:20:38 com.photoswing.webview.actions.AccountRegisterAction.validateModelUpdates BEGIN skipCycle: false
    06/07/08 20:20:38 com.photoswing.webview.actions.AccountRegisterAction.validateModelUpdates mystr: null
    06/07/08 20:20:38 com.photoswing.webview.actions.AccountRegisterAction.validateModelUpdates call to super.validateModelUpdates
    06/07/08 20:20:38 com.photoswing.webview.actions.AccountRegisterAction.validateModelUpdates after call to super.validateModelUpdates, this.hasErrors(ctx): false
    JDev 10.1.2 extract:
    06/07/08 20:41:45 com.photoswing.model.site.AccountInSiteImpl.create BEGIN
    06/07/08 20:41:45 com.photoswing.webview.actions.AccountRegisterAction.prepareModel END
    06/07/08 20:41:45 com.photoswing.webview.actions.AccountRegisterAction.processUpdateModel actionForm: oracle.adf.controller.struts.forms.BindingContainerActionForm
    06/07/08 20:41:45 com.photoswing.webview.actions.AccountRegisterAction.processUpdateModel curLogin:
    06/07/08 20:41:45 com.photoswing.webview.actions.AccountRegisterAction.validateModelUpdates BEGIN skipCycle: false
    06/07/08 20:41:45 com.photoswing.webview.actions.AccountRegisterAction.validateModelUpdates mystr: null
    06/07/08 20:41:45 com.photoswing.webview.actions.AccountRegisterAction.validateModelUpdates call to super.validateModelUpdates
    06/07/08 20:41:45 com.photoswing.model.site.AccountInSiteImpl.validateEntity BEGIN
    etc ...
    Thank you for giving me a clue.
    Fred

    I traced my program, the action form has all the pending values entered in the jsp page but the View Row isn't updated?
    extract of pending values:
    06/07/09 12:05:47 com.photoswing.webview.actions.AccountRegisterAction.processUpdateModel actionForm, key: Email, value: [email protected]
    06/07/09 12:05:47 com.photoswing.webview.actions.AccountRegisterAction.processUpdateModel actionForm, key: FirstNameLatin, value: aaaxxx
    For your info:
    Service update 4 was installed.
    The navigation event to the review page is not a commit action.
    My trace shows that:
    -my prepareToCreateNewAccount is called when the jsp is first accessed (no event handling)
    - after activating next button:
    - no new call to prepareToCreateNewAccount => ok
    - processUpdateModel is called
    - the ActionForm gets filled => ok
    - validateModelUpdates is called
    but VO row (based on one Entity) and Entity set and validation methods are not called?
    My page def has only one iterator?
    Question when and where does the framework copy ActionForm values to underlying VO?
    I noticed that there were new ActionForm classes:
    oracle.adf.controller.v2.struts.forms.BindingContainerActionForm
    Do they work with
    <set-property property="v1ActionClass"
    value="com.photoswing.webview.actions.AccountRegisterAction"/>
    I need a clue!
    I'm lost!
    Regards
    Fred

  • Router based activity  and method call issue

    Hi All
    Iam presently working of Router based task flow(Bounded task flow) and page fragments
    here in above router based task flow i have used the method call.
    In above method call i return status ,and on basis of that status i redirect it to success page or error page(the success and error page are page fragments i.e. .jsff page).
    i have done the drag and drop of the above mentioned router based task flow in my jspx page in a facet as a region.
    below is the code for the my jspx page
    <af:region value="#{bindings.testtaskflowvalidations.regionModel}"
                           id="r1"/>but my problem is that the method call which i included in above router based ,that method is not called(method call is not being happened).
    So what changes i need to make so that the method is being is called.
    currently iam using jdevloper 11.1.1.4.0
    Thanks and Regards
    Bipin Patil.
    Edited by: Bipin Patil on Jun 29, 2011 1:59 AM

    Hi
    iam not getting any kinds of server errors.
    below is my router code
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <task-flow-definition id="ValidationTaskFlow">
        <default-activity id="__1">ValidationTask</default-activity>
        <managed-bean id="__25">
          <managed-bean-name id="__24">validationBean</managed-bean-name>
          <managed-bean-class id="__27">com.test.Validate</managed-bean-class>
          <managed-bean-scope id="__26">pageFlow</managed-bean-scope>
        </managed-bean>
        <router id="ValidationTask">
          <case>
            <expression>#{pageFlowScope.Validationstatus == 'true'}</expression>
            <outcome id="__2">success</outcome>
          </case>
          <case>
            <expression>#{pageFlowScope.Validationstatus == 'false'}</expression>
            <outcome id="__3">fail</outcome>
          </case>
          <default-outcome>fail</default-outcome>
        </router>
        <view id="validationsuccess">
          <page>/pages/main.jsff</page>
        </view>
        <view id="validationerror">
          <page>/pages/hashkeyvalidationerror.jsff</page>
        </view>
        <method-call id="ValidationStatusSupplier">
          <method>#{pageFlowScope.validationBean.onBeforePhase}</method>
          <outcome id="__9">
            <fixed-outcome>ValidateFlow</fixed-outcome>
          </outcome>
        </method-call>
        <control-flow-rule id="__10">
          <from-activity-id id="__11">ValidationTask</from-activity-id>
          <control-flow-case id="__12">
            <from-outcome id="__14">success</from-outcome>
            <to-activity-id id="__13">validationsuccess</to-activity-id>
          </control-flow-case>
          <control-flow-case id="__16">
            <from-outcome id="__15">fail</from-outcome>
            <to-activity-id id="__17">validationerror</to-activity-id>
          </control-flow-case>
        </control-flow-rule>
        <control-flow-rule id="__19">
          <from-activity-id id="__20">ValidationStatusSupplier</from-activity-id>
          <control-flow-case id="__23">
            <from-outcome id="__21">ValidateFlow</from-outcome>
            <to-activity-id id="__22">ValidationTask</to-activity-id>
          </control-flow-case>
        </control-flow-rule>
        <use-page-fragments/>
        <visibility id="__18">
          <url-invoke-allowed/>
        </visibility>
      </task-flow-definition>
    </adfc-config>

  • How to interrupt an funtion call and continue the followed code?

    for example, the code:
    public class A{
    public static void main(String[] args){
    int i = 0;
    method1();
    system.out.println("exit");
    public void method1(){
    int j = 0;
    while(true){
    j +=1;
    there is a error in method1(), so the call the method1( ) in main() will make an error.
    how can i interrupt this funtion call and continue the followed code?

    in actually, I can not control the method1(), that's
    an remote object function.
    So I can not add exception in methoes().Then in your main method catch whatever "Error" your method1 is throwing.

  • BUT_NDC & National Do Not Call

    Has anyone used the CRM functionality around 'Do Not Call'?  At our current client there is a need to flag customers as 'Do Not Call' based on the National DNC list that is maintained by the Federal Government.  Anyone who does telemarketing is required to abide by the rules defined by the government around these.
    Based on my review in the system I can't find anything that updates the following BP tables:
    BUT_DNC / BUT_DNC_OLD
    I was able to find one function module for Change Documents BUPA_DNC_WRITE_DOCUMENT but nothing else.  Not sure if this is something SAP supports or not.
    Anyone used this functionality before?
    Thanks
    Sam M.

    Suzette,
    Thanks for the information.  I have been using this note for some time, and found it somewhat useful.  We are still in the process of defining our own process with this functionality when we find it to not work all that well.
    Regards
    Sam M.

  • ADF VO Row Fetch Range Issue: Action is not called after 10th row

    Hi People!
    I am working with an Application here in which one page has a table based on a view object. This table has range navigation, and the VO configuration for Tuning is to fetch rows in batches of 1000, all in one fetch. Now, i have a single selection configured in this table, and also a button on the <tableActions> facet which calls a method on the backing bean.
    The problem is, for the first 10 rows of this table, the method is called (seen through the debugger), but when we move the selection to the 11th row or further, the page only refreshes but does not call the method.
    This is not a problem with the data, because we tried two other approaches:
    1) removed the range navigation and shown all the records in the same page: the error persists for the 11th row ahead
    2) changed the VO query to return only the 11th row from the previous test using its ID: the action is called, now that the row is the first on the rowset.
    Have you experienced similar behavior? Why the Action is not executed when the selected row comes after the tenth row?
    Any help is greatly appreciated!
    Regards
    Thiago Souza

    Hi Frank, thanks for the reply.
    I have assembled a step-by-step based on the HR schema. For this example, i have created an EmployeesVO based on the EMPLOYEES table, and an App Module to provide a data control. From then on:
    1) Create a JSF JSP to list the Employees VO
    1.1) Bind the JSF Page to a Backing bean
    1.2) Create an af:page element on the page
    2) Drag the EmployeesVO from the Data Control Palette to the af:page
    2.1) Read-Only Table, Selection Enabled
    2.2) Do not include table navigation.
    3) Double-Click the automatically created submit button on the TableSelectOne section
    3.1) Bind it to a method on the Backing Bean
    3.2) Add some code to it, in my case i tested:
         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Teste"));
    4) Run the example and try two approaches:
    4.1) select one of the first ten rows and click on the button: The action is fired.
    4.2) select the eleventh row and click on the button: The action is not fired.
    4.3) select one of the first ten rows again and click on the button: The action is fired.
    This example didn't even include range navigation, but if you want to test you will see the result is the same.
    Please let me know if you want further info.
    Thanks a lot!
    Thiago Souza

  • DoDML() not called at postChanges?

    Hi there,
    i have an entity object, which retieves some key attributes (like PK) via stored procedure in the entities doDML-method. Since i need these attributes in viewobjects linked by these attributes, i need to retrieve these aatribute in the same transaction. So i called appModule.getTransaction().postChanges() to send the data to the database and retrieve the key attributes.
    But the doDML-method is not called! So how can i get informations from db db?
    Please help!

    The DBSequence feature also automatically handles the PK and FK mandatory problem. Have you tried it? :-)
    doDML() should definitely be called during postChanges(), but if an error is thrown first about a mandatory attribute's not being filled in, then you won't be ever getting to the doDML().
    Could you possibly have overridden a doDML() method with the wrong signature? (so it would be not treated as an overridden method)?
    Assuming your parent and child entities are Dept and Emp, are you trying to populate the primary key for Dept EO in an overridden doDML() method on Dept EO and then trying to populate the Emp foreign key attribute to Dept based on this value?
    Again, using DBSequence, the temporary (negative) PK for the Dept would get allocated for you, you can use the temporary negative PK
    I've posted a working example of a Dept/Emp based project wherein the DeptImpl entity overrides doDML() and provides a programatically-assigned "actual" value for the DBSequence (instead of the simpler way of populating it in a trigger and letting BC4J totally automate this job for you).
    http://www.geocities.com/smuench/PKFromStoredProc.zip
    In my example my code hard-codes the new Deptno to 46, but you could replace that with any programatic technique to determine the Id's "real" value at commit time, including a call to your stored procedure.
    I'm still not understanding if your doDML() is on

  • There is any way to recover some information of a backup that was interrupt for a call?

    Hello,
    I was doing a backup of my iphone 3GS on itunes before a update it. This backup was interrupted for a call and I didn't noticed that, so I update the mobile and recovered it, but when the recover did not work because it was interrupted and I lost all my data, contacts and photographs. There is any way to recover it? I found a part of the backup that was interrupted on the folder of itunes.
    Grateful,

    Unfortunately if your backup is password protected you can't extract data from it without the password.  There are programs that will extract data from an iPhone backup, but not if they it is password protected.  (This is actually a good thing since it protects your security.)  My suggestion is that you make a copy of this backup to a save location somewhere else on your computer so you can restore to it in the future to recover you photos should you remember your password later.  If you leave it there, the next time you sync your phone it will overwrite the backup and will never be able to get it back.

  • MicroC-OS-II running on Microblaze with UARTLITE in interrupt mode not working

    Hello, 
    I am trying to write and application that uses the MicroBlaze which runs the MicroC-OS-II. I am also trying to use the UARTLITE in interrupt mode. 
    Currently I can use the UARTLITE in interrrupt mode if I run a standalone package that is without MicroC-OS-II.m
    I read the documentation attached see page 22 (Handling Interrupts). On how the OS handles interrupts but I am little confused on how to setup the UARTLITE in interrrupt mode to work with the OS.
    I know that OS_CPU_ISR() handles the interrupt but how do I make it so that it handles the uartlite interrupt. 
    I am really confused how I should modify the UARTLITE interrupt code below to work with MICROC/OS. As really confused I MEAN I JUST DON"T understand. 
    * (c) Copyright 2002-2013 Xilinx, Inc. All rights reserved.
    * This file contains confidential and proprietary information of Xilinx, Inc.
    * and is protected under U.S. and international copyright and other
    * intellectual property laws.
    * DISCLAIMER
    * This disclaimer is not a license and does not grant any rights to the
    * materials distributed herewith. Except as otherwise provided in a valid
    * license issued to you by Xilinx, and to the maximum extent permitted by
    * applicable law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL
    * FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS,
    * IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
    * MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE;
    * and (2) Xilinx shall not be liable (whether in contract or tort, including
    * negligence, or under any other theory of liability) for any loss or damage
    * of any kind or nature related to, arising under or in connection with these
    * materials, including for any direct, or any indirect, special, incidental,
    * or consequential loss or damage (including loss of data, profits, goodwill,
    * or any type of loss or damage suffered as a result of any action brought by
    * a third party) even if such damage or loss was reasonably foreseeable or
    * Xilinx had been advised of the possibility of the same.
    * CRITICAL APPLICATIONS
    * Xilinx products are not designed or intended to be fail-safe, or for use in
    * any application requiring fail-safe performance, such as life-support or
    * safety devices or systems, Class III medical devices, nuclear facilities,
    * applications related to the deployment of airbags, or any other applications
    * that could lead to death, personal injury, or severe property or
    * environmental damage (individually and collectively, "Critical
    * Applications"). Customer assumes the sole risk and liability of any use of
    * Xilinx products in Critical Applications, subject only to applicable laws
    * and regulations governing limitations on product liability.
    * THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE
    * AT ALL TIMES.
    * @file xuartlite_intr_example.c
    * This file contains a design example using the UartLite driver (XUartLite) and
    * hardware device using the interrupt mode.
    * @note
    * The user must provide a physical loopback such that data which is
    * transmitted will be received.
    * MODIFICATION HISTORY:
    * <pre>
    * Ver Who Date Changes
    * 1.00a jhl 02/13/02 First release
    * 1.00b rpm 10/01/03 Made XIntc declaration global
    * 1.00b sv 06/09/05 Minor changes to comply to Doxygen and coding guidelines
    * 2.00a ktn 10/20/09 Updated to use HAL Processor APIs and minor changes
    * for coding guidelnes.
    * </pre>
    /***************************** Include Files *********************************/
    #include "xparameters.h"
    #include "xuartlite.h"
    #include "xintc.h"
    #include "xil_exception.h"
    /************************** Constant Definitions *****************************/
    * The following constants map to the XPAR parameters created in the
    * xparameters.h file. They are defined here such that a user can easily
    * change all the needed parameters in one place.
    #define UARTLITE_DEVICE_ID XPAR_UARTLITE_2_DEVICE_ID
    #define INTC_DEVICE_ID XPAR_INTC_0_DEVICE_ID
    #define UARTLITE_INT_IRQ_ID XPAR_INTC_0_UARTLITE_2_VEC_ID
    * The following constant controls the length of the buffers to be sent
    * and received with the UartLite device.
    #define TEST_BUFFER_SIZE 100
    /**************************** Type Definitions *******************************/
    /***************** Macros (Inline Functions) Definitions *********************/
    /************************** Function Prototypes ******************************/
    int UartLiteIntrExample(u16 DeviceId);
    int SetupInterruptSystem(XUartLite *UartLitePtr);
    void SendHandler(void *CallBackRef, unsigned int EventData);
    void RecvHandler(void *CallBackRef, unsigned int EventData);
    /************************** Variable Definitions *****************************/
    XUartLite UartLite; /* The instance of the UartLite Device */
    XIntc InterruptController; /* The instance of the Interrupt Controller */
    * The following variables are shared between non-interrupt processing and
    * interrupt processing such that they must be global.
    * The following buffers are used in this example to send and receive data
    * with the UartLite.
    u8 SendBuffer[TEST_BUFFER_SIZE];
    u8 ReceiveBuffer[TEST_BUFFER_SIZE];
    * The following counters are used to determine when the entire buffer has
    * been sent and received.
    static volatile int TotalReceivedCount;
    static volatile int TotalSentCount;
    * Main function to call the UartLite interrupt example.
    * @param None
    * @return XST_SUCCESS if successful, XST_FAILURE if unsuccessful
    * @note None
    int main(void)
    int Status;
    xil_printf("Started\n");
    * Run the UartLite Interrupt example, specify the Device ID that is
    * generated in xparameters.h.
    Status = UartLiteIntrExample(UARTLITE_DEVICE_ID);
    if (Status != XST_SUCCESS) {
    return XST_FAILURE;
    return XST_SUCCESS;
    * This function does a minimal test on the UartLite device and driver as a
    * design example. The purpose of this function is to illustrate
    * how to use the XUartLite component.
    * This function sends data and expects to receive the same data through the
    * UartLite. The user must provide a physical loopback such that data which is
    * transmitted will be received.
    * This function uses interrupt driver mode of the UartLite device. The calls
    * to the UartLite driver in the handlers should only use the non-blocking
    * calls.
    * @param DeviceId is the Device ID of the UartLite Device and is the
    * XPAR_<uartlite_instance>_DEVICE_ID value from xparameters.h.
    * @return XST_SUCCESS if successful, otherwise XST_FAILURE.
    * @note
    * This function contains an infinite loop such that if interrupts are not
    * working it may never return.
    int UartLiteIntrExample(u16 DeviceId)
    int Status;
    int Index;
    * Initialize the UartLite driver so that it's ready to use.
    Status = XUartLite_Initialize(&UartLite, DeviceId);
    if (Status != XST_SUCCESS) {
    return XST_FAILURE;
    * Perform a self-test to ensure that the hardware was built correctly.
    Status = XUartLite_SelfTest(&UartLite);
    if (Status != XST_SUCCESS) {
    return XST_FAILURE;
    * Connect the UartLite to the interrupt subsystem such that interrupts can
    * occur. This function is application specific.
    Status = SetupInterruptSystem(&UartLite);
    if (Status != XST_SUCCESS) {
    return XST_FAILURE;
    * Setup the handlers for the UartLite that will be called from the
    * interrupt context when data has been sent and received, specify a
    * pointer to the UartLite driver instance as the callback reference so
    * that the handlers are able to access the instance data.
    XUartLite_SetSendHandler(&UartLite, SendHandler, &UartLite);
    XUartLite_SetRecvHandler(&UartLite, RecvHandler, &UartLite);
    * Enable the interrupt of the UartLite so that interrupts will occur.
    XUartLite_EnableInterrupt(&UartLite);
    * Initialize the send buffer bytes with a pattern to send and the
    * the receive buffer bytes to zero to allow the receive data to be
    * verified.
    for (Index = 0; Index < TEST_BUFFER_SIZE; Index++) {
    SendBuffer[Index] = Index;
    ReceiveBuffer[Index] = 0;
    * Start receiving data before sending it since there is a loopback.
    XUartLite_Recv(&UartLite, ReceiveBuffer, TEST_BUFFER_SIZE);
    * Send the buffer using the UartLite.
    XUartLite_Send(&UartLite, SendBuffer, TEST_BUFFER_SIZE);
    * Wait for the entire buffer to be received, letting the interrupt
    * processing work in the background, this function may get locked
    * up in this loop if the interrupts are not working correctly.
    while ((TotalReceivedCount != TEST_BUFFER_SIZE) ||
    (TotalSentCount != TEST_BUFFER_SIZE)) {
    for (Index = 0; Index < TEST_BUFFER_SIZE; Index++)
    xil_printf("%d",ReceiveBuffer[Index]);
    * Verify the entire receive buffer was successfully received.
    for (Index = 0; Index < TEST_BUFFER_SIZE; Index++) {
    if (ReceiveBuffer[Index] != SendBuffer[Index]) {
    return XST_FAILURE;
    return XST_SUCCESS;
    * This function is the handler which performs processing to send data to the
    * UartLite. It is called from an interrupt context such that the amount of
    * processing performed should be minimized. It is called when the transmit
    * FIFO of the UartLite is empty and more data can be sent through the UartLite.
    * This handler provides an example of how to handle data for the UartLite,
    * but is application specific.
    * @param CallBackRef contains a callback reference from the driver.
    * In this case it is the instance pointer for the UartLite driver.
    * @param EventData contains the number of bytes sent or received for sent
    * and receive events.
    * @return None.
    * @note None.
    void SendHandler(void *CallBackRef, unsigned int EventData)
    TotalSentCount = EventData;
    * This function is the handler which performs processing to receive data from
    * the UartLite. It is called from an interrupt context such that the amount of
    * processing performed should be minimized. It is called data is present in
    * the receive FIFO of the UartLite such that the data can be retrieved from
    * the UartLite. The size of the data present in the FIFO is not known when
    * this function is called.
    * This handler provides an example of how to handle data for the UartLite,
    * but is application specific.
    * @param CallBackRef contains a callback reference from the driver, in
    * this case it is the instance pointer for the UartLite driver.
    * @param EventData contains the number of bytes sent or received for sent
    * and receive events.
    * @return None.
    * @note None.
    void RecvHandler(void *CallBackRef, unsigned int EventData)
    TotalReceivedCount = EventData;
    * This function setups the interrupt system such that interrupts can occur
    * for the UartLite device. This function is application specific since the
    * actual system may or may not have an interrupt controller. The UartLite
    * could be directly connected to a processor without an interrupt controller.
    * The user should modify this function to fit the application.
    * @param UartLitePtr contains a pointer to the instance of the UartLite
    * component which is going to be connected to the interrupt
    * controller.
    * @return XST_SUCCESS if successful, otherwise XST_FAILURE.
    * @note None.
    int SetupInterruptSystem(XUartLite *UartLitePtr)
    int Status;
    * Initialize the interrupt controller driver so that it is ready to
    * use.
    Status = XIntc_Initialize(&InterruptController, INTC_DEVICE_ID);
    if (Status != XST_SUCCESS) {
    return XST_FAILURE;
    * Connect a device driver handler that will be called when an interrupt
    * for the device occurs, the device driver handler performs the
    * specific interrupt processing for the device.
    Status = XIntc_Connect(&InterruptController, UARTLITE_INT_IRQ_ID,
    (XInterruptHandler)XUartLite_InterruptHandler,
    (void *)UartLitePtr);
    if (Status != XST_SUCCESS) {
    return XST_FAILURE;
    * Start the interrupt controller such that interrupts are enabled for
    * all devices that cause interrupts, specific real mode so that
    * the UartLite can cause interrupts through the interrupt controller.
    Status = XIntc_Start(&InterruptController, XIN_REAL_MODE);
    if (Status != XST_SUCCESS) {
    return XST_FAILURE;
    * Enable the interrupt for the UartLite device.
    XIntc_Enable(&InterruptController, UARTLITE_INT_IRQ_ID);
    * Initialize the exception table.
    Xil_ExceptionInit();
    * Register the interrupt controller handler with the exception table.
    Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_INT,
    (Xil_ExceptionHandler)XIntc_InterruptHandler,
    &InterruptController);
    * Enable exceptions.
    Xil_ExceptionEnable();
    return XST_SUCCESS;
     

    Hello,
    I have a KC705 board, with Microblaze on it. My software is Witten above the operating system of µC/OS-II.I am trying to write multi task ie. task1 and task2.  Application that uses the MicroBlaze which runs the MicroC-OS-II.
    I am using  the UARTLITE able to run hello world program successfully is with MicroC-OS-II.I read the documentations,  On how the OS handles multi task, but I am little confused on how to implement..(i am new to RTOS). Please suggest  me or share the any documents, any example codes.
    ~thanks
    ASHIOK H

  • Custom Widget not calling cpSetValue in Runtime mode

    Hi,
    for some reason , Captivate Runtime is not calling cpSetValue throught the ExternalInterface... so this is really problematic as i need to retreive the movie_handle and the variable_handle.
    is anyone already experienced this problem?
    Thank you!
    E.

    Hi, thank you for helping me.
    So whats happend here is based on the documentation and other widget example, captivate at runtime is supposed to call cpSetValue using the ExternalInterface Call.
    The problem is, not callBack is been called in runtime... Work well in Edit and Stage Mode thought.
    if(ExternalInterface.available == true)
              Todo : Register all the ExternalInterface functions
              ExternalInterface.addCallback( "isStatic" , isStatic );
              ExternalInterface.addCallback( "getInspectorParameters" , getInspectorParameters );
              ExternalInterface.addCallback( "setInspectorParameters" , setInspectorParameters );
              ExternalInterface.addCallback( "setParameters" , setParameters );
              ExternalInterface.addCallback( "cpSetValue" , cpSetValue );
              ExternalInterface.addCallback( "getEditModeWidth", getEditModeWidth);
              ExternalInterface.addCallback( "getEditModeHeight", getEditModeHeight);
              ExternalInterface.addCallback( "IsReadyForSnapShot", IsReadyForSnapShot);
              ExternalInterface.addCallback( "getListOfUsedInternalResources", getListOfUsedInternalResources);
              ExternalInterface.addCallback( "getListOfUsedExternalResources", getListOfUsedExternalResources);
              ExternalInterface.addCallback( "SetExternalResources", SetExternalResources);
              ExternalInterface.addCallback( "SetInternalResources", SetInternalResources);
              ExternalInterface.addCallback( "GetWidgetAPIVersion", GetWidgetAPIVersion);
              ExternalInterface.addCallback( "SetStageModeSize", SetStageModeSize);
              ExternalInterface.addCallback( "SetCaptivateVersion", SetCaptivateVersion);
              ExternalInterface.addCallback( "SetLanguage", SetLanguage);
    i have my functions defined properly and as stated previously its working in Edit and Stage Mode.
    Thank you!
    E.

Maybe you are looking for

  • How do I create this using jQuery...Or even standalone javascript?

    Hi, what I'm trying to create has already been done but my lack of know how is holding me back from duplicating the effect as seen at  http://www.yidio.com/show/sons-of-anarchy Clicking the "Season" link/s expands the entirety of the master container

  • Problem with connection ( NetStream.Publish.BadName)

    Fri Sep 11 2009 08:52:10 : Session Started Fri Sep 11 2009 08:52:11 : Audio Encoding Started Fri Sep 11 2009 08:52:11 : Video Encoding Started Fri Sep 11 2009 09:13:59 : Primary - Network Status: NetConnection.Connect.Closed status Fri Sep 11 2009 09

  • My apple ID not bay any game or app ?

    Hi , my name salman , my apple ID not purchased game or app ? Why ?

  • Combobox parameter promting in the web viewer

    Hi all I'm new to Crystal Report, and I'm developing a web application to share and view Crystal reports. I'm using the eclipse plug-in for that. In some of the reports I want to share, there are parameters that are prompted with a combobox when I us

  • I thought I understood XML ........

    Hi, Can anyone help me out here. Although I understand about XML and have written al lot of stuff to process XML, it was in a language that came out of a company based in Redmond :). I take one look at the Java stuff and get very confused. I want to